vir2L
Guest
Как избежать выноса?
При запуске выдает: Fatal error: Cannot redeclare reverse() (previously declared in D:\htdocs\netwarez\archive.php:4) in D:\htdocs\netwarez\archive.php on line 4.
Если function reverse вынести за пределы function archive, то все работает.
Но как избежать выноса?
PHP:
<?
function archive ($path)
{
function reverse ($string)
{
$string=explode ("-", $string);
$string=array_reverse ($string);
$string=implode ("-", $string);
return $string;
}
$dir=@opendir ($path);
if ($dir)
{
while (($file=readdir ($dir))!==false)
{
if ($file!="." && $file!="..")
{
if (!is_dir ($file)) $dirs[]=$file;
if (!is_file ($file) && ereg ("([0-9]{2})-([0-9]{2})-([0-9]{2})", $file)) $files[]=$file;
}
}
}
@sort ($dirs);
if (count ($files)!=0)
{
for ($i=0; count ($files)>$i; $i++) $files[$i]=reverse ($files[$i]);
rsort ($files);
for ($i=0; count ($files)>$i; $i++) $files[$i]=reverse ($files[$i]);
}
@closedir ($dir);
return array ($dirs, $files);
}
$path="txt";
list ($dirs, $files)=archive ($path);
for ($i=0; count ($dirs)>$i; $i++)
{
echo $dirs[$i]."<br><br>";
list ($sub_dirs, $sub_files)=archive ($path."/".$dirs[$i]);
for ($j=0; count ($sub_files)>$j; $j++) echo $sub_files[$j]."<br>";
}
?>
Если function reverse вынести за пределы function archive, то все работает.
Но как избежать выноса?