2

PHPの関数の出力を取得するとき、scandir()名前がアラビア語であるフォルダーがいくつかあります。問題は、???????アラビア文字を表示するために出力が " " だったことです。

これが私のコードの一部です:

<?php
$dir    = '../dirs';
$files1 = scandir($dir);
foreach($files1 as $key => $value)
{
    if($value != '.' && $value != '..' && $value != '')
    echo "<option>".$value."</option>";
}
?>

何か案は?

4

3 に答える 3

1

PHP5 では、ファイル名に拡張文字を含むファイルを操作する方法をまだ見つけていません。私は、これは PHP 自体の問題であると信じ込まされています。それが、バージョン 6 の開発に非常に時間がかかっている理由です。(PHP6 は Unicode を完全にサポートする予定です。)

内容に拡張文字を含むファイルの読み取りと書き込みにはまったく問題はありませんが、ファイル名自体に拡張文字を含めることはできません。これは現在、私が個人的に回避策を見つけていない唯一の制限です。幸いなことに、Web セーフ ファイル名には現在、問題の原因となる拡張文字が含まれていないため、通常は問題になりません。

于 2013-08-18T09:10:13.880 に答える
0

あなたはそれを試すことができます !

 $files1 = scandir($dir);  
    foreach ($files1 as $file) {
       echo  utf8_encode($file);
       echo '<br>';
    }
于 2016-08-04T04:26:20.407 に答える