| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Новостная лента на файлах |
| Автор: Osrus 15.2.2007, 00:56 |
| Есть новостная лента (PHP), все новости пишутся в один текстовый файл, который является базой. На главной странице выводятся только, предположим, 10 сообщений. Представим, что файл достигает размера, к примеру, 50 мб. Будет ли сервер обрабатывть запрос дольше? Меня интересует, как работает PHP с файлами в принципе - обрабатывает весь массив файла, а потом выводит, указанные 10 или же обращается к конкретной части файла. |
| Автор: Mal Hack 15.2.2007, 01:05 |
| Смотря как работать. Стандартными функциями - весь файл грузится в память, если через потоки, то можно частями. Сам не пробовал |
| Автор: pento 15.2.2007, 06:39 |
| Osrus, SQLite? |
| Автор: Всемогущий 15.2.2007, 07:57 |
| Osrus, скажи пожалуйста ,какими функциями для чтения файла ты пользуешься ,и я скажу |
| Автор: Gold Dragon 15.2.2007, 08:48 |
| по моему, если делать новостную ленту на файлах, то лучше новости делить на разные файлы - по дням, неделям, месяцам, в зависимости от количества новостей. Или как вариант по количеству новостей. И поиск будет удобный, да и не стоит заморачиваться о нагрузке на сервер. |
| Автор: Osrus 15.2.2007, 11:29 | ||
| Всемогущий, Если никто не против, я приведу полностью код:
Если нетрудно, расскажите про эту функцию - function cuttext |
| Автор: mishaSL 15.2.2007, 18:19 |
Osrus, извини но это твоя функция. А если ты взял чей-то код и не можешь понять по воспользуйся пожалуйста сначало мануалом. Для начала: http://ru.php.net/file http://ru.php.net/split Теперь по вопросу размера файла и твоего кода: Если сервер не твой, т.е. ты покупаешь виртуальный хостинг. Обычно стоит ограничение на использование памяти от 2 до 10 мегабайт. Функция file как уже сказал Mal Hack загружает весь файл в память. Так что смотри сам на сколько может быть большой файл. Разбивай новости на несколько файлов, а еще лучше используй какую-нибудь БД, если это возможно. |
| Автор: Osrus 15.2.2007, 18:34 |
| mishaSL, Спасибо. |
| Автор: Osrus 16.2.2007, 18:12 |
mishaSL, Сп.. еще раз. А в случае, если для каждой отдельной новости создается только один файл? По дате, например... т.е. дата(и время) становится именем файла. |
| Автор: mishaSL 16.2.2007, 18:25 |
| Osrus, можно и так. Ты только скажи почему ты так настойчиво не хочешь использовать БД? |
| Автор: Osrus 16.2.2007, 22:57 |
| mishaSL, Открываю секрет... Я не программист... знаю лишь HTML и КСС... но, изучая разные движки, остановился на одном, а именно SM news v 2. Кстати, автора движка, скорее всего, знает Mal Hack - так, на заметку... Так вот - движок мне этот полюбился тем, что в нем легко изменить дизайн. А с файлами, лично мне кажется, проще работать, да и Mysql я не знаю почти. Основной принцип, конечно, понятен... Конечно можно было бы поставить портальную систему, но там много функций, которые для моего сайта просто не нужны, да и дизайн изменять как-то мутороно. Может быть, я не прав, а может, просто много не знаю... В чем, в принципе, + работы с БД? |
| Автор: Serkys 16.2.2007, 23:20 |
В первую очередь удобство и скорость. До бесконечности можно перечислять. |
| Автор: Osrus 17.2.2007, 00:52 |
| Только что потрошил sPaize-nuke... ладно, признаю - работает быстро... в принципе, и дизайн редактируется в Дриме довольно быстро. Но рыться в чужой верстке не очень по нраву. И функционально... это бд... Убедили, может, перетащу все на движок с БД. Видимо, упрямство мешало... А что про безопасность скажете? Если сравнить, к примеру, тот же php-nuke на Mysql и модель сайта на файлах (к примеру, новостная лента с возможностью комментирования). |