フォルダ内のファイル検索

phpで特定フォルダからファイルを検索してファイル名を返す。
・glob(“../photos/”.”*”)でファイル名の配列を取得
・mb_convert_encodingでsjisから目的の文字コードに変換してパスを作成

foreach (glob(“../photos/”.”*”) as $filename) {
        $_SESSION[“photo_name”] []= str_replace(“../photos/”,mb_convert_encoding($filename, “utf8”, “SJIS”));
    }

日本語ファイル名では文字化けすることもあるので、mb_convert_encodingが必要

パラメーターフラグ


  • GLOB_MARK – 各ディレクトリにスラッシュを追加します

  • GLOB_NOSORT – ディレクトリに存在するファイルを返します
    (ソートはされません)

  • GLOB_NOCHECK
    検索パターンにマッチするファイルが見つからない場合に、
    検索パターン自身を返します

  • GLOB_NOESCAPE – バックスラッシュによるメタ文字のクォートを行いません

  • GLOB_BRACE
    {a,b,c} を展開し「a」、「b」あるいは「c」のいずれかにマッチさせます

  • GLOB_ONLYDIR – パターンにマッチするディレクトリのみを返します

  • GLOB_ERR – (ディレクトリが読めないなどの)
    読み込みエラー時に停止します。デフォルトではエラーは無視されます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です