• ベストアンサー

glob関数で日本語文字が取得できません。

PHPでglob()関数を使って画像ファイル一覧を取得しようと試みたのですが、引数に"C:/Documents and Settings/xxxxxx/My Documents/My Pictures/風景/*.jpg" といった引数にすると日本語部分の文字が文字化けしているようで取得できません。 glob関数は2バイト文字は使えないのでしょうか? それともOSとの文字化けの関係なのでしょうか? 解決するにはどうしたらいいのでしょう? [実行環境] OS : Windows XP PHP version : 5.1.6 Server: Apache 2.2.3;

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

解決案ではなく回避案ですけれど、日本語以外のディレクトリにファイルをコピーしてそれにアクセスしたらどうですか?PHPで(というかなんの言語でも)ディレクトリを指定するなら、相対パスでかつ空白を含まない様にするもんだと思います^ ^そうじゃないと、たとえば配布とかしにくいですし、トラブルの元ですし

nakacher
質問者

お礼

ありがとうございました。 文字化けはOSの問題のようでした。 パスについてはローカルで試したため絶対パスで指定してしまいました。 アップするときには相対パスでするつもりです。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.2

文字コードの不一致というのがありそうですが・・。XPのファイルシステムでは日本語の文字コードは何でしたっけ?内部はutf-8で外からはSJIS?(自信なし) phpはdefaultでmb_internal_encodingがEUC-JPだと思いますが、SJISに設定されてますでしょうか。 いずれにしても(たとえSJISに設定して動いたとしても)No.1同様、空白や日本語を含むファイル名・ディレクトリ名は避けるのが吉だと思います。

nakacher
質問者

お礼

ありがとうございました。 OSの文字化けのようでShift-JISに変換してなんとか解決しました。 ご指摘のとおり、アップする場合は日本語や空白は気をつけたいと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • globで日本語のファイル名が文字化けします。

    RedHatLinux4 update6 + Apache2.2.8 + php5.2.5でプログラムを作成しております。 globを使ってファイル名の一覧を取得するプログラムを作成しているのですが、日本語のファイル名が文字化けしてしまいます。自分で調べてphp.iniの設定を変えてみたりしたのですが、うまくできません。 ご回答、宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • 日本語の文字化け

    APACHE、MYSQL、PHPである本をもとに住所録を作りました。ブラウザには問題なく登録した氏名、住所などが表示されましたが、ターミナルでselect * form テーブル名を実行してみると、日本語が文字化けしています。同様にPHPmyadminのほうでも日本語が文字化けしています。ブラウザにはきちんと表示されるので、この本を読みすすめていく分には問題ないのですが、今後絶対に困ると思われますので、今のうちに直したいです。原因と修正方法を教えて下さい。 apache 1.3.3 MYSQL 4.0.27 PHP 4.4.1 MAC OS X 10.4.8 よろしくお願いします。

  • MySQLの文字コードについて

    こんばんは。今、PHP+MySQLの勉強をしているのですが、PHPとMySQLをSJISで保存して接続をすると文字化けはしないのですが、他の文字コードだと一部文字化けをしてしまいます。 どうやったら、他の文字コードでも化けないようにすればよろしいのでしょうか?ちなみにPHPは5.2/Apache2.0/MySQLは5.0を使っておりmy.iniの文字コード設定はデフォルトでSJISにしています。 よろしくお願いします。

  • 日本語が文字化けするんです。

    WINDOWS2000を使用しています。apache_1.3.26 php-4.2.2でプログラムを作成し始めた初心者です。テキストエディタで文章の中に日本語を入れてphp文書として保存し、ブラウザで見たら日本語の部分が文字化けしてたり消えてたりするんです。どうやら、phpのマルチバイト関連の設定に不備がある、というらしいのですが、詳しく分からないので、どなたか詳しい方教えて下さい。宜しくお願いします。

    • 締切済み
    • PHP
  • 引数で日本語を渡す

    お世話になります PHP5.2 WordPress3.2.1でfunction.phpに書いた関数で 日本語の引数を渡して処理したいのですが 文字化けしてしまって処理できません 基本全ての文字コードをUTF-8にしてphp.iniの設定は http://wiki.ohgaki.net/index.php?PHP%2Ftips%2F日本語環境php.ini設定 を参考に一通り合わせています index.phpでは最初に setlocale(LC_ALL, 'ja_JP.UTF-8'); しています 調べられる範囲での対処で手詰まりになりました よろしくお願いします

    • ベストアンサー
    • PHP
  • フォルダの表示形式を指定したフォルダ内全てに設定する方法を教えて下さい

    フォルダの表示形式を指定したフォルダ内全てに設定する方法を教えて下さい。 表示形式をすべてのフォルダに適用する設定は、フォルダオプションの表示タブにある「フォルダの表示」から設定しますが、指定したフォルダ内だけに設定できる方法はありますでしょうか。 例 C:\Documents and Settings\USER\My Documents\My Pictures\2009.1\TEST12.jpg C:\Documents and Settings\USER\My Documents\My Pictures\2010.1\TEST01.jpg C:\Documents and Settings\USER\My Documents\My Pictures\2010.2\TEST02.jpg C:\Documents and Settings\USER\My Documents\My Pictures\2010.3\TEST03.jpg C:\Documents and Settings\USER\My Documents\My Pictures\2010.4\TEST04.jpg My Pictures内にある年月名のフォルダ全てに表示形式を設定したいのです。 以上よろしくお願いします。

  • ネットワークロケーション

     [%USERPLOFILE%]とは、通常、[C:\Documents and Settings\ユーザー名]を指しています。   例えば、[%USERPLOFILE%\My Documents\My Pictures]となっている場合、[C:\Documents and Settings\ユーザー名\My Documents]フォルダ   に[My Pictures]が存在していなければなりません。 これの意味が分かりません。教えて下さい。

  • 可変長引数関数の引数の文字列サイズを取得したい

    以下のような可変長の文字列を受け取れる関数があったとします。 ...の部分で引数を受け取ることが可能ですが、この場合引数の文字列サイズを 知ることは可能なのでしょうか? 関数を呼び出してみて例を挙げるとするなら、  GetArgs( "%s", "あいうえお" ); この「あいうえお」の部分の文字数をGetArgs内で知りたいのです。 void GetArgs( char * FormatString, ... ) {   va_list VaList;   va_start( VaList, FormatString );   // ここでFormatStringの引数の文字列サイズを取得したい   va_end( VaList ); }

  • 写真をアップロードできません!

    カテ違いでしたらすみません。 写真をアップロードしようとしましたが、次の文字が出てアップロードできません。 「アップロードファイルに不正な文字が含まれています」 文字はこちらです。 C:\Documents and Settings\user\My Documents\My Pictures\813111\813111 001.jpg これのどれが不正な文字なのでしょうか?

  • Yahooなどの「EUC」HTMLソースを、日本語でファイル保存したい

    yahooのサイトでソースを表示すると、文字化けのように表示されます。 PHPのfopen関数でyahooなどのソースを取得し、文字化けしないように正しい日本語でファイルに保存したいのですが、その方法をお教えいただけないでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP