電子書籍の厳選無料作品が豊富!

お世話になります。
 +<ホテル>
 |
 +<hotel>
 |
 +tst.php
 |
と、いうようなフォルダと、phpのファイルのある構造のフォルダ内で、
(”<”はフォルダを示す記号として使用司だけで実際に”<”は記載されていない。)
tst.phpで、

function getImgDataAry($FoldPass){
echo "aaaaaaaaaa<br>";
echo '$FoldPass='.$FoldPass.'<br>';
$drc=dir($FoldPass);
if(!$drc){//----- 指定された年度のフォルダが無いとき
return false;
}
echo "bbbbbbbbbbbbbbb<br>";
}
というfunction()を定義し、
getImgDataAry('ホテル.');
とすると、bbbbbbbbbbbbbは、表示されません。
つまり、フォルダを認識できなかったようです。

getImgDataAry('hotel');
とすると、bbbbbbbbbbbbbが表示されます。
つまり、フォルダ名が認識されたようです。

以上、漢字のフォルダ名はdr()で取得することはできないのでしょうか。
また、漢字のフォルダ名を取得する方法はないものでしょうか。
よろしくお願いいたします。

A 回答 (2件)

httpで処理するのに「漢字」は大敵です。


絶対にできないとは言いませんが、できない前提で使わないのが
トラブルを避ける最善の方法でしょう。
    • good
    • 0
この回答へのお礼

yambejpさん、おはようございます。
>httpで処理するのに「漢字」は大敵です。
そうですか。
httpでといっても、Apacheを自分のマシン内にインストールして
localhostでファイル処理にphpを使ってみようと考えたんですが。
そのため、既に漢字フォルダ名を多用していました。
それでも何とかならないかと思ったのですが。

お礼日時:2009/03/11 06:16

多バイト文字は、文字エンコーディングというのをきちんと指定したり判定したりしないと、思ったように表示出来ません。


windowsXP での多バイト文字ファイル名は、sjis で保持されてるようです。
よって、ディレクトリーやファイル名検索する時は、sjisに変換してから検索し、
取得データをページに表示する時は、ページの文字エンコードに変換してからでないと、読める文字になりません。
また、OSによってもこの文字エンコードが異なったりしますので要注意です。
また、urlには、多バイト文字は使えません。
結論的には、No1さんと同じく、多バイト文字は使わないのがベスト。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!