Помогите плиз!
Я как только не пытался всунуть в функцию функцию glob,
или у меня мозгов не хватило или функция не настолько гибкая.
В foreach вообще не хочется использовать glob, жирновато думаю будет так как порой функции приходится за раз обрабатывает больше 100мб, долго отрабатывает.
Пробывал использовать цикл while, много кода получается.
Да и одним while опять же не обойтись.
Нужно что бы сама функция возвращала массив в такой сортировке ключ значения:
CODE ( htmlphp):
скопировать код в буфер обмена
["subdirname0"]=> array() { ["filename0"]=>"\path\subdirname0\filename0.ext0" ["filename1"]=>"\path\subdirname0\filename1.txt1" ["subdirname1"]=> array() { ["filename0"]=>"\path\subdirname0\subdirname1\filename0.ext0" ["filename1"]=>"\path\subdirname0\subdirname1\filename1.txt1" } } ["filename0"]=>"\path\filename0.ext0" ["filename1"]=>"\path\filename1.txt1" }
Скрипт один раз читает каталок с подкаталогами - ключи массива сортирует по именам папок и файлов,
что бы можно было обращаться к массиву таким образом:
PHP:
скопировать код в буфер обмена
fopen($myArray['subdirname0']['subdirname1']['filename0'], 'r+'); /** * или так: */ foreach($myArray['subdirname0']['subdirname1'] AS $filename => $path) { echo '<a href="file:///' . $path .'">' .$filename .'</a>' .PHP_EOL; } /** * или, что то подобное. */
(Добавление)
Нашел ошибку, поправил:
PHP:
скопировать код в буфер обмена
$outputArray[$fileName] = $self($pathDir .DIRECTORY_SEPARATOR .$fileName); /** * Заменил на: */ $outputArray[$fileName] = $self($pathDir .DIRECTORY_SEPARATOR .$fileName, array('continue' => $continueDir), $timeLimit);
Не передавались параметры.
Главная проблема всё равно осталась.(Отредактировано автором: 09 Августа, 2013 - 04:05:12)
|