我有一些 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")
然后它工作正常。但是当我尝试通过上一个。创建子文件夹数组,它失败了。