いくつかの 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")
その後、正常に動作します。しかし、前を通過しようとすると。サブフォルダー配列を作成しましたが、失敗します。