次のコードは、ディレクトリのすべてのファイルとフォルダをアルファベット順にリストするためのものです。珍しい文字のファイル名を含むディレクトリの内容を表示
<?php
$files = array();
$dir = opendir('.');
while(false != ($file = readdir($dir))) {
if(($file != ".")and ($file != "..") and ($file != "index.php")) {
$files[] = $file;
}
}
natsort($files);
foreach($files as $file) {
echo("<li><a href='$file'>$file</a>");
}
?>
状況は、私のファイルとフォルダは、自分の名前でいくつかの奇妙な文字を持っている私は、非ASCII文字を含むリンク上記のコードで記載されたリンクをクリックするとなどé, ï, être.htm, écouter.txt
、同様に404エラーにつながるとということですターゲットは開かれないが、奇妙なキャラクタがないリンクは完全に動作する。
これを解決する方法を教えてください。
try〜url_encode($ file)〜とそれを正しく引用してください。 – Forbs
どうすればいいですか教えてください。私はPHPが初めてです。 –
私は«urlencode($ file)»で試しましたが、特殊文字とのリンクは動作しますが、スペースを含むリンクは動作しません。 –