- ベストアンサー
fopenで半角カナファイル名のサイトファイルを開く方法とは?
- fopenを使用してXP apache2.0系で起動しているサイトの半角カナファイル名のファイルを開こうとしたときに、HTTP request failed! HTTP/1.1 404 Not Foundというエラーメッセージが表示されます。半角カナ部分の取り扱いに関しては、PHP側で変換するか、apacheの設定変更が必要なのか検討しています。
- 半角カナファイルが配置してあるディレクトリ一覧をブラウザで表示すると文字化けして表示されています。この問題を解決するためには、PHP側での変換やApacheの設定変更を行うか、他の手段を検討する必要があります。
- ファイル名が半角英数字の場合は問題なくfopenで開くことができますが、半角カナファイル名の場合はエラーメッセージが表示されます。PHP側での変換やApacheの設定変更などの方法を検討し、問題を解決する必要があります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
根拠のない思いつきだけですので、聞き流しでお願いします。 とりあえず、俺なら 以下を試してみます。 ・文字コードを変えてやってみる。 ・urlencode()してみる。
その他の回答 (2)
- gtx456gtx
- ベストアンサー率18% (194/1035)
回答になっていませんが・・・ >ファイル名が半角英数字であればfopenは問題ないです。 >半角カナ部分の取り扱いだとは思うんですけど まだまだファイルに名に日本を使って、どのような場合でも失敗せずに利用できる環境は整っていないと思います。 素直に英字と数字のファイルだけを取り扱うようにした方が良いと思います。 「半角カナ部分」は、過去との互換性で残っている文字なので新規にコーディングするなら半角カタカナは取り扱わない方が良いと思います。
お礼
回答ありがとうございます。 半角カナ云々については私ももちろん認識しておりますし 変えてほしいのですが、そんなのものでも仕様なんです。 こちら側吸収できる方法ないものかと。
- poiuy9801
- ベストアンサー率59% (59/100)
根本的な問題として、半角カナはトラブルの元なので 少なくともファイル名・ディレクトリ名には使うのはまずいです。 ブラウザで直にパスを打つと開くのは ベースのOSがXPで、なおかつブラウザがIE系だからだと思われます。 # IEはブラウザでありながら、Windowsのファイルのパスとしての文字列を扱えるように独自拡張してしまっているため # Web上では御法度の組み合わせ(半角カナ、半角スペースなどが混じる場合)でもファイルオープンが可能なのです。 ソフト側で処理できるように対処せず、ファイル名をリネームされることを強くお勧めします。
お礼
回答ありがとうございます。 半角カナ云々については私ももちろん認識しておりますし 変えてほしいのですが、そんなのものでも仕様なのです。 winでしか動かなくても構いませんので、fopenが成功する方法ないでしょうか。 最悪そのファイルはPHPでは処理せずに、window.open~で 開けちゃおうと思っています。(これは開けたので)
お礼
回答ありがとうございます。 書き込みは省略しますが、色々と試してみて駄目でした。。 貴重なお時間ありがとうございました。