Перейти к содержанию
СофтФорум - всё о компьютерах и не только

маленький вопросик по php


Рекомендуемые сообщения

маленький вопросик по php:

как сделать добавление текста из формы в начало списка, чтобы каждое следующее добавлялось наверх. Хорошо бы, чтобы остальной текст при переполнении страницы автоматически переезжал на другие страницы.

Спасибо :)

Ссылка на комментарий
Поделиться на другие сайты

Вопрос

Где будеш хранить текст

В файл или в БД? С БД легче сделать

Вот скрипт работающй с файлом

<?$_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; если файл станеть очен болшой скрипт будеть пользуват много памят и можно получить ошибку если паметь недостаточна

В БД легче сделать то что тебе нужно

Ссылка на комментарий
Поделиться на другие сайты

Допустим, на одной странице может быть несколько новостей - порядка 40 кб, это будет нормально в отношении памяти? А как делать БД? Чем это лучше и сложнее? Будет ли "переезжать" последняя новость на др. страницу автоматически?

Спасибо ;)

А можно так, чтобы эти новости, которые добавляешь, появлялись на другой странице .html или .php? Как это сделать? Просто пишешь 'index.html' файл?

важно, чтобы когда будет 11-ая новость, чтобы она появилась сверху, а последняя поехала в другой файл автоматически.

Плиз, подскажи вот это :rolleyes:

Ссылка на комментарий
Поделиться на другие сайты

Привет!

С БД очень просто указывать "Показать последние 10", "Показать с 11 до 20" и т.д. :rolleyes:

Насчёт файла - ну, можно разбивать каждые 10, 40 или 100 на отдельные файлы.

Это совсем не плохая идея. А возможно и хранить только последние 100 и показывать их на 10 страниц по 10-40 kb. В общем, не проблема; проблема если больше мегабайта.

В общем, если кто-то подскажет, как добавить в начале файла, не читая всё его содержание, чтобы записать потом, то проблема с размером файла будет решена. Я пока не нашёл решение этой проблемы — обычно дописивают в конце файла.

Конечно, можно показывать на другой странице, я просто написал всё в одном скрипте.

Изменено пользователем Rulchik
Ссылка на комментарий
Поделиться на другие сайты

Почему-то в этом скрипте, к-рый ты дал, в файл добавляется не то, что написал в форме, а все время test1! :rolleyes:

Мне сейчас важно, чтобы если >10, последняя переносилась в др. файл! ;)

Ссылка на комментарий
Поделиться на другие сайты

тут важно еще, чтобы это было не только при 11-ой новости, но и при 21, 31 и т.д., все переезжали автоматом в новые файлы.

Можно ли сделать, чтобы в имени файла часть была переменной, например "page$_.html"? Т.е. в название файла подставляется текущая переменная номера.

:rolleyes:

Ссылка на комментарий
Поделиться на другие сайты

тут важно еще, чтобы это было не только при 11-ой новости, но и при 21, 31 и т.д., все переезжали автоматом в новые файлы.

Можно ли сделать, чтобы в имени файла часть была переменной, например "page$_.html"? Т.е. в название файла подставляется текущая переменная номера.

:rolleyes:

Ну конечно же, убери первою строку

$_POST['txt'] = 'test1';

А то я просто в Zend-е тестирул

Также в скрипте прописано что поле в котором вводют инфо називаеться txt

это тоже надо отредактировать

Ссылка на комментарий
Поделиться на другие сайты

Привет.

Подскажи, плиз, как сделать, чтобы если есть файл с некоторым количеством строк, на каждой из них запись, сделать на 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

Спасибо :rolleyes:

Если добавится еще 5 новостей, то в 1 файле будут первые 5 записей, во втором следующие 5 и т.д. до конца

Ссылка на комментарий
Поделиться на другие сайты

Как сделать, чтобы текст, вводимый в форму, появлялся на создаваемой веб-странице с помощью php, чтобы он вставлялся в определенное место:

Пример.

<h1>

Hello

<h2>

abc

<h3>

Сюда должен вставляться текст

<h4>

...

Ссылка на комментарий
Поделиться на другие сайты

Как сделать, чтобы текст, вводимый в форму, появлялся на создаваемой веб-странице с помощью php, чтобы он вставлялся в определенное место:

В PHP скрипте можно свободно писать html код

<h1>Hello<h2>abc<h3><?php// код php показивающий текст?><h4>

Насчет первого вопроса - просто надо начинать читания из необходимой строки

Почитайте документацию о работе с файлов

А вообщем если читаете через file( имя-файла ) получаете массив и очен легко показать необходимие вам строки

Ссылка на комментарий
Поделиться на другие сайты

Ок, а как сделать команду: вывести в файл первую строку текстового файла, или любую под номером n, и перевести указатель на следующую?

Как сделать, чтобы после каждой строки (или каждых n строк) счетчик увеличивался на 1 и проверялся, он больше некоторого числа?

:)

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...