обратная совместимость php4.x - php5

Alex_v.tv

Новичок
обратная совместимость php4.x - php5

Доюрый день.

есть вот такой код:
PHP:
$path = '../img';

$d = dir($path);

//часть 1
while (false !== ($entry = $d->read()))
{
  if($entry == '.' or $entry == '..')continue;
      if(is_dir($path."/".$entry))
         {
          $path = $path."/".$entry;
          $d = dir($path);
            while (false !== ($entry = $d->read()))
              {
              if($entry == '.' or $entry == '..')continue;
                 if(is_file($file = $path."/".$entry))
	                  {
	                   if ($key = array_search($file, $file_db) !== false)
	                      {
                         $use_img[] = $file;
                          echo "<tr><td>".$file."</td><td>Файл используется</td></tr>";
	                      }
	                   else
	                      {
                          $lost_img[] = $file;
                          echo "<tr><td>".$file."</td><td>Файл не используется</td></tr>";
	                      }
                     }
	           }
                 
          }
//часть 2
                 if(is_file($file = $path."/".$entry))
	                  {
                      if ($key = array_search($file, $file_db))
	                      {
	                       $use_img[] = $file;
                            echo "<tr><td>".$file."</td><td>Файл используется</td></tr>";	                      }
	                   else
	                      {
	                       $lost_img[] = $file;
                                       echo "<tr><td>".$file."</td><td>Файл не используется</td></tr>";	                             
                                      }
                         }
                     }
  }
на локальной машине выполняется без проблем, php 4.x
на хостинге выполняестя только часть 1, если она есть.
часть 2 выполняется, если нет части 1.
никакой вразумительной причины не нашёл, единственное, что приходит в голову, это различие версий php
 

Фанат

oncle terrible
Команда форума
вау.
у тебя в глаза встроен интерпретатор с отладчиком?
Ну, у нас такого нету, так что, мы, убогие, тебе и подавно помочь не сможем.
 

Alex_v.tv

Новичок
вау.
у тебя в глаза встроен интерпретатор с отладчиком?
Ну, у нас такого нету, так что, мы, убогие, тебе и подавно помочь не сможем.
я этого ожидал )))

ну как можно искать?
1) в локале работает
2) на хостинге: работает часть 1
3) на хостинге: убираем часть 1 нормально работает часть 2
4) вставляем echo "blya... blya... "; в условие if части 2, не выводит

какие выводы?

на форум задаю вопрос, когда упираюсь в стенку...

-~{}~ 25.05.06 12:40:

Или врёте, или не тот код показываете
не вру, код скопирован из файла

-~{}~ 25.05.06 12:41:

ошибок нет никаких, хотя щас проверю ещё раз ...
 

McSimm

Новичок
О различиях для этого кода версий php не скажу, но вложенный цикл по подпапке с использованием той же самой $d привел глазной интерпретатор в затруднение :)

Так что предполагаю различия не в версиях, а в исходных данных на локальной машине и на удаленной (т.е. структура папок и наличие файлов)
 

Alex_v.tv

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

вложенный цикл по подпапке с использованием той же самой $d привел глазной интерпретатор в затруднение
возможно, скрипт нужно доработать, не спорю, писал наскоро (

в принципе, сам понимаю, что лажа какая-то из того самого раздела
"PHP FAQ: Ничего не работает! Что делать??? "

однако, всё, что мог сделал ...

ладно, всем большое спасибо, надо отдохнуть и сделать по-нормальному )))
 

disc

Guest
$path = '../img';
По мне это обозначает что папка img должна находиться в корне папки сервака с веб документами (/www либо /httpdocs).
Проверь на самом деле так ли оно.
 

Фанат

oncle terrible
Команда форума
Во-первых, ЭТО ещё не гарантирует вывода ошибок на экран.
Во-вторых, ЕСЛИ ТЫ ЧИТАЛ фак по отладке, то ты должен знать, что выводить надо не только ошибки, но и состояние всех переменных, чтобы визуально контролировать правильность выполнения скрипта, ПОШАГОВО.
 

ybilevych

Новичок
Упорствует человек...
Самое интересное, что McSimm уже сказал, где искать траблу, а Фанатупорно пытается заставить тебя поискать и даже указал как...

hint: Проконтролируй состояние переменной $d во всех местах, где это важно.
 
Сверху