Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 8 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Junior
Статус: Не в сети
Регистрация: 14.09.2005
Господа, написал я своими ручками вот такую штуку, думал она будет смотреть сколько файлов в папке, а потом от этой цифры цикл делать и выкладывать новости сама. Я просто подкидываю ТХТ файло в папку и оно появляется в верху страницы. Всё просто он работает на локальном там денвер стоит, а в сети никак, хотя там пхп 4 с чем-то, все команды в порядке, поблема в начале, он не может выбрать ТХТ файлы и передать и количество, как я понимаю...помогите плз! Спасибо.
<?
if ($handle = opendir("newz")) {
while (false !== ($file = readdir($handle))) {
//-----ne nuzno----------------------------
// if ($file != "." && $file != "..") {
// }
//-----izbavlyaet ot failov "." i ".."-----
$word = substr($file, 4, 1);
}
closedir($handle);
}

for ($i = $word; $i >= 0; $i--){
$cifra = $i;
$filo = "newz/newz$cifra.txt";
$fdesk = fopen($filo, "r");
$text = fgets($fdesk, 4096);
echo "<hr>$text<br>\n";
while (!feof($fdesk)){
$text = fgets ($fdesk, 4096);
echo "$text<br>\n";
}}
// fclose($fdesk);
?>



Партнер
 

Member
Статус: Не в сети
Регистрация: 16.04.2004
Откуда: [MSK.RU]
Попробуй текстовым файлам chmod 666 сделать...


 

Junior
Статус: Не в сети
Регистрация: 14.09.2005
Но у меня работает и на серваке раньше работал, подскажи, ПОДСЧЁТ КОЛИЧЕСТВА ФАЙЛОВ ведь правильно описан? Всё в порядке? Ведь и на сайте работает если вместо $word

for ($i =$word; $i >= 0; $i--){

число фаилов в папке поставить!!!


 

Member
Статус: Не в сети
Регистрация: 18.11.2002
Откуда: не вернуться
=[Monster]= А юзать БД религия не позволяет ? (замечу БД а не СУБД)

Описаный тобою подход явно не подходит для целей для которых ты его используешь...

Лучше юзать форму добавления (если уж мы юзаем файловую систему) которая не только кидала бы текстовой файл в папку, но и добавляла нужную инфу в файл исполняющий роль некоего подобия базы данных...
Добавлено спустя 4 минуты, 46 секунд
Кстати учитывая что выводятся ВСЕ записи можно сделать ещё проще...

_________________
Летели гуси-лебеди, а им навстречу - воробьи-пингвины и соловьи-страусы...


 

Junior
Статус: Не в сети
Регистрация: 14.09.2005
virus писал(а):
=[Monster]= А юзать БД религия не позволяет ? (замечу БД а не СУБД)

Описаный тобою подход явно не подходит для целей для которых ты его используешь...

Лучше юзать форму добавления (если уж мы юзаем файловую систему) которая не только кидала бы текстовой файл в папку, но и добавляла нужную инфу в файл исполняющий роль некоего подобия базы данных...
Добавлено спустя 4 минуты, 46 секунд
Кстати учитывая что выводятся ВСЕ записи можно сделать ещё проще...


Разъясни про БД? Что предлагаешь? Плиз.

Подход выбран не случайно, во-первых хочется руками своими с нуля всё написать, во-вторых идея была раз в день кидать ТХТ в папку по фтп и всё.

Опиши, как сдалать ЕЩЁ ПРОЩЕ, пожалуйста.

ДА, кстати, скрип-то мой ведь правильный?
Добавлено спустя 32 минуты, 32 секунды
Tod Schwarzkaiser писал(а):
Попробуй текстовым файлам chmod 666 сделать...
Да, но разве если будут права 666 любой не сможет потереть их или еёщ что?


 

Member
Статус: Не в сети
Регистрация: 16.04.2004
Откуда: [MSK.RU]
Цитата:
Да, но разве если будут права 666 любой не сможет потереть их или еёщ что?

Возможно.
А вообще, чисто из личного опыта, если у папки, которую ты пытаешься обрабатывать, права отличаются от *55 (read&execute), подобные скрипты не особо желают работать... Например, в случае с картинками, последние просто не грузятся. Чем-то напоминает твою ситуацию...


 

Member
Статус: Не в сети
Регистрация: 01.04.2005
Откуда: Москва-Лубянка
Цитата:
скрип-то мой ведь правильный?

Неправильный. Точнее, правильный, но не верный) Извращенец ты) Сдерживать надо креатив)
Надо было хоть так:
Код:
<?
if ($handle = opendir("newz"))
{
 while (false !== ($file = readdir($handle)))
 {
  if ($file != "." && $file != ".." && (!is_dir($file)))
  {
   if($fdesk = fopen("newz/".$file, "r"))
   {
    $text = fgets($fdesk, 4096);
    echo "<hr>$text<br>\n";
    while (!feof($fdesk))
    {
     $text = fgets ($fdesk, 4096);
     echo "$text<br>\n";
    }
    fclose($fdesk);
   }
  }
 }
closedir($handle);
}
?>


Новости должны быть отсортированы? тогда

Код:
<?
$files = array();
if ($handle = opendir("/newz/"))
{
 while (false !== ($file = readdir($handle)))
 {
  if ($file != "." && $file != ".." && (!is_dir($file)))
  {
    $files[] = $file;
  }
 }

 sort($files);

 foreach($files as $fname)
 {
   if($fdesk = fopen("/newz/".$fname, "r"))
   {
    $text = fgets($fdesk, 4096);
    echo "<hr>$text<br>\n";
    while (!feof($fdesk))
    {
     $text = fgets ($fdesk, 4096);
     echo "$text<br>\n";
    }
    fclose($fdesk);
   }
 }

closedir($handle);
}
?>

Добавлено спустя 3 минуты, 42 секунды
P.S. А virus кругом прав) :beer:


 

Member
Статус: Не в сети
Регистрация: 18.11.2002
Откуда: не вернуться
Anoss писал(а):
А virus кругом прав

Ну дык, опыт :D

Всё-же я бы предложил автору на будующее научиться хранить новости (т.е дата, название, категория если надо) в сериализованном массиве (т.е в структуре на подобии бд) но чтоб файл БД не рос как снежный ком текст новостей хранить уже в файлах...

Т.е чтоб получить некое подобие базы данных
Код:
['news']
   [0]
   {
      ['name']=>'крутая новость1'
      ['date']=>'10-03-2006'
      ['catg']=>'software'
      ['news_text']=>'1.txt'
   }
   [1]
   {
      ['name']=>'крутая новость2'
      ['date']=>'12-03-2006'
      ['catg']=>'hardware'
      ['news_text']=>'2.txt'
   }

Таким образом и сортировка по названию, по дате, разбивка на страницы и всё, всё, всё становится гараздо проще...

(хотя это только для слабеньких сайтов, если в будующем сайт будет рости то лучше всё-же подумать над изучением SQL)

_________________
Летели гуси-лебеди, а им навстречу - воробьи-пингвины и соловьи-страусы...


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 8 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan