Показать сообщение отдельно

  #526  
Старый 17.03.2016, 14:26
blackbox
Постоянный
Регистрация: 31.12.2011
Сообщений: 362
Провел на форуме:
137056

Репутация: 11
По умолчанию

Почему-то на винде в всо не выполняется такой код:

Код:
error_reporting(E_ALL);
//$startDir = str_replace('\\', '/', $_SERVER['DOCUMENT_ROOT']);
$startDir = str_replace('\\', '/', dirname(__FILE__));
//$startDir = 'C:/xampp/htdocs';
echo $startDir;
$starSearch = substr($startDir, 0, strpos($startDir,'/')+1);
$dirs_parts = explode('/', $startDir);
print_r($dirs_parts);
//exit();
//echo $starSearch."\n";
$currDir = $starSearch;
$i = 1;
$k = 0;
$max_iter = 255;
$flag = true;
do {
    if ($k >= $max_iter){
        break;
    }
    echo $currDir."\n";
    //sleep(1);
    $cd = $currDir;
    $ds = scandir($cd);
    print_r($ds);
    $currDir = rtrim($currDir,'/');
    if($currDir == $startDir ){
        $flag = false;
        break;
    }
    $currDir .= '/';
    $currDir .= $dirs_parts[$i];
    $i++;
    $k++;

} while ( $flag );
Довольно странно, если закомментить print_r($ds);то он вроде выполняется. Шелл у меня не оригинальный а какой-то обфусцированный. Но что вообще может мешать исполнению? Причем это происходит когда в пути есть конкретная папка, у меня это /addons/test.ru. Когда нужно прочитать папку addons скрипт перестает работать. В чем может быть дело?

upd: Вроде бы нашел причину - если в именах файлов есть кириллические символы, то ничего выводиться не будет. Осталось только понять как решить.
 
Ответить с цитированием