
30.04.2009, 08:38
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами:
9497186
Репутация:
1304
|
|
lothlorian system/exec/passthru заблокированы что ль, что приходится так извращаться?
Попробуй убрать рекурсию, точнее сделать ее немного по другому. Ака закрывать все открытые ресурсы, до вызова функции.
PHP код:
<?php
set_time_limit(0);
scan_dir("/xampp/htdocs");
//////////////////////////////////////////////////////////
// Рекурсивная функция - спускаемся вниз по каталогу
//////////////////////////////////////////////////////////
function scan_dir($dirname)
{
$dirs = array();
// Объявляем переменные замены глобальными
GLOBAL $text, $retext;
// Открываем текущую директорию
$dir = opendir($dirname);
// Читаем в цикле директорию
while (($file = readdir($dir)) !== false)
{
// Если файл обрабатываем его содержимое
if($file != "." && $file != "..")
{
// Если имеем дело с файлом - производим в нём амену
if(is_file($dirname."/".$file))
{
//echo $file."<br>";
$findme = 'background.png';
$pos = strpos($file, $findme);
if ($pos !== false)
{
##echo $dirname."/".$file."<br>"."\n";
$f = fopen("data.txt", "a+");
fwrite($f, $dirname."/".$file."\n");
fclose($f);
}
}
// Если перед нами директория, вызываем рекурсивно
// функцию scan_dir
if(is_dir($dirname."/".$file))
{
// echo $dirname."/".$file."<br>";
echo " ";
$dirs[]=$dirname."/".$file;
}
}
}
// Закрываем директорию
closedir($dir);
while ($one = array_pop($dirs))
{
scan_dir($one);
}
}
?>
|
|
|