0

いくつかの PHP コードがあり、chdir を使用してヘブライ語のファイル名を操作するとエラーが発生します。

function GetSubFoldersArray()
{
    $subFoldersArr = array();

    $yourStartingPath = "images";
    $iterator         = new RecursiveIteratorIterator(
        new RecursiveDirectoryIterator($yourStartingPath),
        RecursiveIteratorIterator::SELF_FIRST);

    foreach ($iterator as $file) {
        if ($file->isDir()) {
            $path = strtoupper($file->getRealpath());

            $path2 = PHP_EOL;

            $path3 = $path . $path2;

            $result = end(explode('/', $path3));

            array_push($subFoldersArr, $result);
        }
    }

    return $subFoldersArr;
}


$subFolders = GetSubFoldersArray();
// $response["images_arr"] = array();
$arrlength = count($subFolders);
chdir("images");

for ($x = 0; $x < $arrlength; $x++) {
    echo $subFolders[$x];
    echo "<br>";
    echo getcwd();
    echo "<br>";
    chdir($subFolders[$x]);
}

サブフォルダーには../images/、ヘブライ文字が含まれています。

サブフォルダーのヘブライ語のファイル名を抽出し、それらをすべて配列に入れることができました。配列をループしているときに、関数を使用してサブフォルダー名を設定しようとしていますが、次のchdir()ように失敗します。

Warning: chdir() [function.chdir]: No such file or directory (errno 2) in 
/home/a2056935/public_html/android_connect/loopingDir.php on line 44.

奇妙なことに、サブフォルダー名を手動で入力すると、次のようになります。

chdir("מקום2") 

その後、正常に動作します。しかし、前を通過しようとすると。サブフォルダー配列を作成しましたが、失敗します。

4

1 に答える 1