- ベストアンサー
dir()で漢字のフォルダ名は取得できないのでしょうか。
お世話になります。 +<ホテル> | +<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()で取得することはできないのでしょうか。 また、漢字のフォルダ名を取得する方法はないものでしょうか。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
httpで処理するのに「漢字」は大敵です。 絶対にできないとは言いませんが、できない前提で使わないのが トラブルを避ける最善の方法でしょう。
その他の回答 (1)
- hrm_mmm
- ベストアンサー率63% (292/459)
多バイト文字は、文字エンコーディングというのをきちんと指定したり判定したりしないと、思ったように表示出来ません。 windowsXP での多バイト文字ファイル名は、sjis で保持されてるようです。 よって、ディレクトリーやファイル名検索する時は、sjisに変換してから検索し、 取得データをページに表示する時は、ページの文字エンコードに変換してからでないと、読める文字になりません。 また、OSによってもこの文字エンコードが異なったりしますので要注意です。 また、urlには、多バイト文字は使えません。 結論的には、No1さんと同じく、多バイト文字は使わないのがベスト。
お礼
yambejpさん、おはようございます。 >httpで処理するのに「漢字」は大敵です。 そうですか。 httpでといっても、Apacheを自分のマシン内にインストールして localhostでファイル処理にphpを使ってみようと考えたんですが。 そのため、既に漢字フォルダ名を多用していました。 それでも何とかならないかと思ったのですが。