motorway Опубликовано 22 марта, 2007 Жалоба Поделиться Опубликовано 22 марта, 2007 маленький вопросик по php: как сделать добавление текста из формы в начало списка, чтобы каждое следующее добавлялось наверх. Хорошо бы, чтобы остальной текст при переполнении страницы автоматически переезжал на другие страницы. Спасибо :) Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 22 марта, 2007 Жалоба Поделиться Опубликовано 22 марта, 2007 Вопрос Где будеш хранить текст В файл или в БД? С БД легче сделать Вот скрипт работающй с файлом <?$_POST['txt'] = 'test1';if ( isset($_POST['txt'] ) ){if ( ! file_exists("info.txt")){ $fp = fopen('info.txt', 'ab'); fclose($fp);}$tmp = file_get_contents('info.txt');$fp = fopen("info.txt", "r+b"); fwrite( $fp, $_POST['txt']);fwrite($fp, "\r\n");fwrite($fp,$tmp);fclose($fp);}$fp = fopen("info.txt", "rb");$count = 0;while ( $s = fgets($fp) ){$count++;echo nl2br( $s );if ( $count > 10 ){ break;}}fclose($fp);?><form method="post"><input type="text" name="txt"><input type="submit"> Здесь проблема - скрипт читаеть весь файл и сохраняеть его в $tmp; если файл станеть очен болшой скрипт будеть пользуват много памят и можно получить ошибку если паметь недостаточна В БД легче сделать то что тебе нужно Ссылка на комментарий Поделиться на другие сайты Поделиться
motorway Опубликовано 22 марта, 2007 Автор Жалоба Поделиться Опубликовано 22 марта, 2007 Допустим, на одной странице может быть несколько новостей - порядка 40 кб, это будет нормально в отношении памяти? А как делать БД? Чем это лучше и сложнее? Будет ли "переезжать" последняя новость на др. страницу автоматически? Спасибо ;) А можно так, чтобы эти новости, которые добавляешь, появлялись на другой странице .html или .php? Как это сделать? Просто пишешь 'index.html' файл? важно, чтобы когда будет 11-ая новость, чтобы она появилась сверху, а последняя поехала в другой файл автоматически. Плиз, подскажи вот это Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 22 марта, 2007 Жалоба Поделиться Опубликовано 22 марта, 2007 (изменено) Привет! С БД очень просто указывать "Показать последние 10", "Показать с 11 до 20" и т.д. Насчёт файла - ну, можно разбивать каждые 10, 40 или 100 на отдельные файлы. Это совсем не плохая идея. А возможно и хранить только последние 100 и показывать их на 10 страниц по 10-40 kb. В общем, не проблема; проблема если больше мегабайта. В общем, если кто-то подскажет, как добавить в начале файла, не читая всё его содержание, чтобы записать потом, то проблема с размером файла будет решена. Я пока не нашёл решение этой проблемы — обычно дописивают в конце файла. Конечно, можно показывать на другой странице, я просто написал всё в одном скрипте. Изменено 23 марта, 2007 пользователем Rulchik Ссылка на комментарий Поделиться на другие сайты Поделиться
motorway Опубликовано 22 марта, 2007 Автор Жалоба Поделиться Опубликовано 22 марта, 2007 Почему-то в этом скрипте, к-рый ты дал, в файл добавляется не то, что написал в форме, а все время test1! Мне сейчас важно, чтобы если >10, последняя переносилась в др. файл! ;) Ссылка на комментарий Поделиться на другие сайты Поделиться
motorway Опубликовано 22 марта, 2007 Автор Жалоба Поделиться Опубликовано 22 марта, 2007 тут важно еще, чтобы это было не только при 11-ой новости, но и при 21, 31 и т.д., все переезжали автоматом в новые файлы. Можно ли сделать, чтобы в имени файла часть была переменной, например "page$_.html"? Т.е. в название файла подставляется текущая переменная номера. Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 22 марта, 2007 Жалоба Поделиться Опубликовано 22 марта, 2007 тут важно еще, чтобы это было не только при 11-ой новости, но и при 21, 31 и т.д., все переезжали автоматом в новые файлы. Можно ли сделать, чтобы в имени файла часть была переменной, например "page$_.html"? Т.е. в название файла подставляется текущая переменная номера. Ну конечно же, убери первою строку $_POST['txt'] = 'test1'; А то я просто в Zend-е тестирул Также в скрипте прописано что поле в котором вводют инфо називаеться txt это тоже надо отредактировать Ссылка на комментарий Поделиться на другие сайты Поделиться
motorway Опубликовано 23 марта, 2007 Автор Жалоба Поделиться Опубликовано 23 марта, 2007 Ок, буду рад скрипту с автоматическим переезжанием новостей на др. страницы :) Ссылка на комментарий Поделиться на другие сайты Поделиться
motorway Опубликовано 25 марта, 2007 Автор Жалоба Поделиться Опубликовано 25 марта, 2007 Привет. Подскажи, плиз, как сделать, чтобы если есть файл с некоторым количеством строк, на каждой из них запись, сделать на php, чтобы в файл 1.htm записывалось первые 5 записей, в 2.htm следующие 5 и т.д. до конца. txt: 1. a 2. b 3. c 4. d 5. e 6. f 7. g --> В 1.htm: a b c d e В 2.htm: f g Спасибо Если добавится еще 5 новостей, то в 1 файле будут первые 5 записей, во втором следующие 5 и т.д. до конца Ссылка на комментарий Поделиться на другие сайты Поделиться
motorway Опубликовано 25 марта, 2007 Автор Жалоба Поделиться Опубликовано 25 марта, 2007 Как сделать, чтобы текст, вводимый в форму, появлялся на создаваемой веб-странице с помощью php, чтобы он вставлялся в определенное место: Пример. <h1> Hello <h2> abc <h3> Сюда должен вставляться текст <h4> ... Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 25 марта, 2007 Жалоба Поделиться Опубликовано 25 марта, 2007 Как сделать, чтобы текст, вводимый в форму, появлялся на создаваемой веб-странице с помощью php, чтобы он вставлялся в определенное место: В PHP скрипте можно свободно писать html код <h1>Hello<h2>abc<h3><?php// код php показивающий текст?><h4> Насчет первого вопроса - просто надо начинать читания из необходимой строки Почитайте документацию о работе с файлов А вообщем если читаете через file( имя-файла ) получаете массив и очен легко показать необходимие вам строки Ссылка на комментарий Поделиться на другие сайты Поделиться
motorway Опубликовано 26 марта, 2007 Автор Жалоба Поделиться Опубликовано 26 марта, 2007 Ок, а как сделать команду: вывести в файл первую строку текстового файла, или любую под номером n, и перевести указатель на следующую? Как сделать, чтобы после каждой строки (или каждых n строк) счетчик увеличивался на 1 и проверялся, он больше некоторого числа? :) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти