Fatal error

vir2L

Guest
Fatal error

есть такой сценарий:

PHP:
<?
   function getlistdir ($dir)
   {
      $path=opendir ($dir);
      while (($file=readdir ($path))!=false)
      {
         if ($file!="." && $file!="..") $array[$i++]=$file;
      }
      sort ($array);
      closedir ($path);
      return $array;
   }

   $array=getlistdir ($dir);
   for ($i=0; count ($array)>$i; $i++)
   {
      echo "<a href=\"".$dir."/".$array[$i]."\">".$array[$i]."</a><br>\n";
   }
?>
теперь попытаемся его выполнить следующим образом:

PHP:
<? $dir=".."; include ("getlistdir.php") ?>
пока работает
теперь так попробуем:

PHP:
<? $dir=".."; include ("getlistdir.php") ?>
<? $dir=".."; include ("getlistdir.php") ?>
первый <? $dir=".."; include ("getlistdir.php") ?> выполняется, а
в место второго выдает "Fatal error: Cannot redeclare getlistdir() in d:\www\php\getlistdir.php on line 2".

В чем моя ошибка (ошибка новичка)?
 

Demiurg

Guest
Re: Fatal error

Автор оригинала: vir2L
В чем моя ошибка (ошибка новичка)?
В том, что ты пытаешься два раза объявить одну и ту же функцию. Функция может быть объявлена только один раз.
 

vir2L

Guest
Re: Re: Fatal error

Автор оригинала: Demiurg
В том, что ты пытаешься два раза объявить одну и ту же функцию. Функция может быть объявлена только один раз.
какова альтернатива?
как иначе?
 

vir2L

Guest
Re: Re: Re: Re: Fatal error

Автор оригинала: Demiurg
Смотря, что тебе надо сделать.
этот сценарий выдает содержимое каталога.
а мне к примеру нужно узнать содержимое нескольких каталогов.
как?
 

Demiurg

Guest
Re: Re: Re: Re: Re: Fatal error

Автор оригинала: vir2L
этот сценарий выдает содержимое каталога.
а мне к примеру нужно узнать содержимое нескольких каталогов.
как?
Для этого надо один раз объявить функцию (в данном случае один раз подключить файл). и несколько раз вызвать её. Плюс еще сделать вывод отдельной функцией.


PHP:
function echodir($dir)
{
 $array=getlistdir ($dir); 
   for ($i=0; count ($array)>$i; $i++) 
   { 
      echo "<a href=\"".$dir."/".$array[$i]."\">".$array[$i]."</a><br>\n"; 
   } 
}



include ("getlistdir.php") ;

echodir("dir1");
echodir("dir2");
Вообще советую почитать, про то, что такое функции. И как с ними работать.
 

vir2L

Guest
Re: Re: Re: Re: Re: Fatal error

все спасибо.
я разобрался.
 
Сверху