• ベストアンサー

フォルダの中のCSVファイルすべての情報を配列にしたい

フォルダの中のCSVファイルすべての情報を配列に取り込みたいのですが使える関数が分かりません。 とりあえず fopenとfgetcsvを使おうと思いますが、フォルダの中のすべてのファイルを取り込む方法がわかりません。 ファイル名は200704.(拡張子)となっています。 どのように処理すればいいでしょうか? 宜しくお願い致します。

  • PHP
  • 回答数1
  • ありがとう数0

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

  • ベストアンサー
  • racchoman
  • ベストアンサー率71% (20/28)
回答No.1

>フォルダの中のすべてのファイルを取り込む方法がわかりません。 http://jp.php.net/manual/ja/function.readdir.php の例479に載っています。あとはfopenなどをすればよいかと思います。

関連するQ&A

  • フォルダ内のcsvファイルを全て開く

    表題の件、教えてください。 csvファイルが入っているフォルダまでは関数で選択できるのですが、 csvファイルまでは、名前が複雑なため選択できません。 そこで、csvファイルを全て開いて、条件に合うファイルのみを 加工したいと思うのですがどうすればよろしいでしょうか。 どなたか分かる方回答お願い致します。

  • csvファイルを配列へ格納しブラウザへ出力

    <?php #CAT csvファイルを開く $fp_c = fopen("test.csv","r"); #domain csvファイルを開く $fp_domain = fopen("test.csv","r"); print "<table border='1'>"; #fgetcsv関数がfalseを返却するまで実行 while($c_data = fgetcsv($fp_c)){ print "<tr>"; #csvファイルの列数だけ実行 for($i=0;$i<count($c_data);$i++){ print "<td>".$c_data[$i]."</td>"; } print "</tr>"; } print "</table>"; var_dump($c_data); fclose($fp); ?> このようなプログラムをつくってcsvファイルの各セルを配列$c_data[$i]へ格納している(つもり) なのですが、var_dump($c_data);を入れると bool(false)と表示されてしまいます。 このプログラムではcsvファイルの中身を表示できても配列に格納されていないのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • クライアントのcsvファイルの読込について

    いつもお世話になっております。 Q1)クライアントPC内のCSV(c:\folder\file.csv)を読込みたいのですが、一度サーバーにアップロードさせないと駄目なのでしょうか? 尚、クライアントは複数の拠点にあります。 -------------------------------------------------- 現在、PHPが稼動しているサーバー上のCSV(c:\folder\file.csv)は、 下記のような記述で処理できるのですが、 $csv_f = "c:\folder\file.csv"; // CSVファイル&パス $fp = fopen($csv_f, "r"); // CSVファイル:OPEN while ($data = fgetcsv($fp)) . . クライアントPC内のCSV(c:\folder\file.csv)を読込む方法をご存知の方いらしたらご教授下さい。 <理想形はこうです> 1.クライアントPC内のCSV(c:\folder\file.csv)を読込んで処理。 2.処理後、c:\folder\file.csvは、c:\folder\file_old.csvという   名前にリネームする。 ----------------------------------------- 以上、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • フォルダーの中のファイルを開く方法

     フォルダ名(apache)の中にあるファイル名(access.log.csv)を開きたいときどのようなプログラムをかけばよいのでしょうか?  また、開いたプログラムを処理し、それを違うフォルダ名(log.dat)の中にあるファイル名(log.dat.csv)に書き込みしたい時どのようなプログラムを書けばいいのか教授ください。

    • ベストアンサー
    • Perl
  • array をつかってcsv ファイルを作る

    もとになるcsvファイルから、いらない行を削除して新しいcsvファイルを作りたいです。 そこで、このようにしてみました。 $fptemp = fopen('data-temp.csv', "a+"); if (($handle = fopen('data.csv', "r")) !== FALSE) { while (($data= fgetcsv($handle)) !== FALSE) { if(条件){ $list = array($data); fputcsv($fptemp, $list); } } } fclose($handle); fclose($fptemp); ところが、結果の行にはすべてArray とだけ出力されます。 もとの行をそのまま出すにはどうしたら良いでしょうか?

    • ベストアンサー
    • PHP
  • フォルダ内のファイル読み込み

    エクセル2003のVBAを使って、特定のフォルダ内の複数のCSVファイル全てを「順番」に読み込む(ファイルを開く)方法を教えて下さい。 フォルダの中には「0.csv」~「12.csv」が入っています。 (しかし、間の番号が無い場合があります。例えば、0~4と6~10のファイルがあり、間に「5」がない。 必ず「0」から始まるないし、最後のファイル名の数字も違う。) よろしくお願いします。

  • エクセル:フォルダ内のファイル数を数える

    1つのファイルを選択後、 そのファイルを開いてある操作をし、閉じる。 その後自動的に、同一フォルダ内のファイルを開いて同様の操作をし、閉じる。 これをフォルダ内のファイル全てに対して行う、 というマクロを組みたいです。 例えば、 フォルダAに、File1.csv, File2.csv, File3.csv, File4.csv の4ファイルがある時、 File3.csvを選んで操作を実行(csvファイル内のセルA4の値を、マクロを実行したExcelファイルにコピー)。 実行完了後、File3.csvは閉じる。 続けて、File1,File2,File4についても、 開く→コピーする→閉じる、を繰り返す。 フォルダ内全てのファイルに対して実行したら終了。 ファイル名は、常にFile+数字.csvではありませんが、拡張子は常にCSVです。 素人考えでは、フォルダ内のファイルの数と名前を取得し、ループで回せばいいと思うのですが、 「フォルダ内のファイルの数と名前を取得」する関数でもあるのでしょうか? 他に何か楽な方法でもあれば、教えてください。

  • csvファイルの読込みとソート

    いつも大変参考にさせていただいております。 csvファイルの読み込みとソートをしたく、ネットや過去ログ等を相当調べたのですが、完全に詰まってしまいました。 (検索キーワード:「php csv ソート」「php 二次元配列 ソート」など) とても困っています。どなたかよろしくお願いします。 以下のようなcsvファイルを読み込みソートしたいのです。 ■csvファイル 20110803, A, りんご 20111215, B, みかん 20110306, A, みかん 20110620, A, りんご 20110215, B, りんご ■個別にやりたい処理 (1)、左列の日付で昇順ソートしてすべて表示 (2)、「A」を含む行をすべて表示(日付順) (3)、「A」+「りんご」を含む行をすべて表示(日付順) □補足 csvをfgetcsvで読み込み、テーブルに入れて表示するところまではできました。 csvの行は増えていきます(max100行位)。列は固定。

    • ベストアンサー
    • PHP
  • フォルダーの中のファイル名を取り出す

    フォルダーの中のファイル名を取り出し配列に格納する方法はありますか?

  • phpでcsvファイルから二次元配列を作る

    php初心者です。 phpでcsvファイルを読み込んで、 配列[csvの行番号][項目名(csv一行目の内容)]=各々の値 という二次元配列を作りたいのですが、作り方が全く分かりません。 どなたか教えてください。

    • ベストアンサー
    • PHP

専門家に質問してみよう