ガイドしてください:- 1.ウルドゥー語/アラビア語で保存された
ファイル名の utf8 文字を読み取る/保存する方法。これは私から $file_utf8 = iconv( "Windows-1256", "utf-8", $filepath ); 、ただし、すべてのファイル名を読み取るわけではなく、80% 以上をスキップします。私もする必要があります
2. ファイル(ファイル名)のリストを作成時間とサイズで並べ替えます。
3.ソートされたリストをutf-8 txtファイル に保存し、このコードでこの部分を解決しました:すべてのファイル名が読み取られないという問題が残ります
$myDr = fopen("list.txt", "w") or die("Unable to open file!");
foreach ($files as $f)
{
$path1 = iconv( "Windows-1256", "utf-8", $f );
echo $zz . " . " . $path1, "<br>\n";
$txtpoet2 = "$path1 \r\n" ;
fwrite($myDr, $txtpoet2);
$zz++;
}
fclose($myDr);
ウルドゥー語でファイル名を保存したディレクトリとサブディレクトリに多くの画像があります。" ୨୧୨୧ ୨୧ ୨୧ ୨୧ ୨୧ ୨୧.png」 . すべてのディレクトリとサブディレクトリのリストを作成し、Unicode txt ファイルに保存したいと考えています。PHPコーディングでウルドゥー文字を読むことができません。
私の環境は Windows 7 (64 ビット) で、サーバーとして XAMPP - apache を使用しています。C++ を試しましたが、解決策が見つかりませんでした。
次のPHPを使用して、サブディレクトリ内のすべてのファイルを読み取ります:-
<?php
header('Content-type: text/html; charset=utf-8');
function listdir($dir='.')
{
if (!is_dir($dir))
{
return false;
}
$files = array();
listdiraux($dir, $files);
return $files;
}
function listdiraux($dir, &$files)
{
$handle = opendir($dir);
while ( false !==($file = readdir($handle)) )
{
if ($file == '.' || $file == '..')
{
continue;
}
$filepath = $dir == '.' ? $file : $dir . '/' . $file;
if (is_link($filepath)) continue;
if (is_file($filepath))
{
$files[] = $filepath;
else if (is_dir($filepath)) listdiraux($filepath, $files);
}
closedir($handle);
}
$files = listdir('.');
sort($files, SORT_LOCALE_STRING);
$zz = 0;
foreach ($files as $f)
{
echo $zz . " . " . $f, "<br>\n";
$zz++;
}
?>
このコードのソースはhttp://php.net/manual/en/function.readdir.php です。
ありがとうございます。