• 締切済み

送られてくるcsvデータをphpで解析

あるサーバから送られてくるcsvデータ(ファイル名不明)を解析するにはどうしたら良いでしょうか? csvの中身 年齢,性別,地域 20,1,30 25,2,15 これらをphpで読み取り、データベースへ という流れです。

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

みんなの回答

  • ts3m-ickw
  • ベストアンサー率43% (1248/2897)
回答No.2

解析って何をしたいのか不明ですが、データベース格納だけなら簡単です。 まずファイル名の取得から始めないといけないですね。 特定のディレクトリに格納できるならexec()関数で'ls -lt'を実行して、結果からexplode()関数でファイル名を抽出します。 あとはfopen()して、fgets()かfgetcsv()で読み込んでセルごとに分け、'insert into'するSQL文を作成して実行すればいいでしょう。

関連するQ&A

  • PHPとCSVファイル

    CSVファイルを用いて検索するプログラムを書いています。 CSVファイルの読み込みはできたのですが その後が詰まってしまい、質問させていただくことにしました。 流れとしてはdealer.php(ディーラー)→color.php(色)→sex.php(性別)と続き sex.phpで 男性(0)ならkekka.php(結果)へ。 女性(1)ならnaisou.php(内装)に移動します。 移動方法はすべてsubmitボタンを使用。 car.csv ディーラー,色,性別(0→男、1→女) toy,siro,0 toy,siro,1 toy,kuro,0 toy,kuro,1 nis,siro,0 nis,siro,1 nis,kuro,0 nis,kuro,1 hon,siro,0 . , . . , . 項目の多少の修正と追加があるのでCSVファイルは使用したいです。 PHPで性別の0と1を検索し、 それぞれのページに移動させるにはどうすればいいのでしょうか? 初めてプログラムを組んでいるため、分かりやすい解説が あるとうれしいです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • CSVデータをDBに移行するには

    Perlを使ってCSVデータをDBに移行して格納したい のですが、流れはCSVファイルを開いて、CSVファイルを連想配列に書き込んで、 DBを開いて、連想配列データをデータベースに書き込んで、DBを閉じるという 流れの考えでよろしいのでしょうか?

    • ベストアンサー
    • CGI
  • phpでcsvを読み込むときのdata番号について

    phpでcsvを読み込んでいるのですが、次のようなcsvファイルを読み込むときの2行名以降のデータ番号($data[0]がわかりません。 和食,寿司,まぐろ,価格,500 洋食,パスタ,ミート,価格,800 和食の部分は、($data[0]、寿司が($data[1]ですよね。 洋食の部分は($data[5]で良いのでしょうか?

    • ベストアンサー
    • PHP
  • Access2007へCSVデータなどをインポートしたい

    Access2007において顧客データベースを運用しています。 定期的に他のデータベースから書き出したCSVファイルを この顧客データベースの中にインポートしたいのですが可能ですか? CSVのデータををテーブルとしてインポートすることはできるのですが、 データベースの中身(データ)のみを項目ごとに割り振って流し込みたいのです。 よろしくお願いいたします。

  • PHPでCSVファイルを編集したい

    PHPを触りだして間もない者です。 PHPでCSVファイルを編集したいのですが、上手くいきません。 CSVファイルの中身は{商品番号,名前,住所,年齢}が数行入力されています。 具体的にはPHPで引数の商品番号を基にCSVファイルで編集する行数を決定して、その行の一部項目を変更したいのですが、良い方法はありますでしょうか?

    • 締切済み
    • PHP
  • PHPにて行が多い場合のCSVファイル取込

    CSVアップロード機能が構築されておりますが、 CSVファイルを while($data = fgetcsv($fp, 10000, "\t")){ で1行ずつ、取得し、データベースに書き込みが 行われております。 20000行ではなかなか落ちることがありませんが、 40000行の場合、Gateway Time-outになる場合があります。 Gateway Time-outにならないためにも、 ファイルの分割を行う必要もあるかとも考えております。 PHPにて行が多い場合のCSVファイルをデータベースに書き込みを行う場合は、 どのように行うのが一般的なのでしょうか。 サーバはヘテムルを利用しており、サーバは変更できません。 ご教授のほど、よろしくお願い致します。

    • ベストアンサー
    • PHP
  • csvファイルのデータをSQLiteに入力したい

    PHP初心者です。 題のとおり、csvファイルのデータを、サーバー上にあるSQLiteのデータベースのテーブル内に入力したいのですが、PHPでのコードはどのようにすれば良いのでしょうか? ローカルのパソコンでSQLiteテーブルに変換してからアップロードしてもOKかと思い、tksqliteというソフトも試してみましたが、使い方がさっぱり分からず上手くいきませんでした。 どなたかお助けくださいませ。 よろしくお願いいたします。

    • 締切済み
    • PHP
  • PHPでCSVデーターの表示について

    PHPでCSVデーターの表示について 教えてください。PHPでCSVデーターを表示したいのですが一覧表示ではなくテキストをクリックして特定のデーターを表示させようと考えております。 CSVデーターの中身(CSV.csv) 一郎,男,20歳 二郎,男,22歳 一子,女,24歳 二子,女,26歳 --data.php-- <?php $csvFile = 'CSV.csv'; $tempCSV = file_get_contents($csvFile); $tempCSV = mb_convert_encoding($tempCSV,'utf-8','SJIS-win'); $fp = tmpfile(); fwrite($fp,$tempCSV); rewind($fp); setlocale(LC_ALL,'ja_JP.UTF-8'); while ($arr = fgetcsv($fp,1024)) { list ($name,$sex,$age) = $arr; echo '<p>',<a href="01.php">' . $name . '</a>','</p>'; } fclose($fp); function h($string) { return htmlspecialchars($string, ENT_QUOTES); } ?> 一郎をクリックしたら一郎のデーターだけを(01.php)で表示させたいのですがよく分りません。 01.phpは今のところ一覧表示されるものを置いてあります。 --01.php-- <?php $csvFile = 'CSV.csv'; $tempCSV = file_get_contents($csvFile); $tempCSV = mb_convert_encoding($tempCSV,'utf-8','SJIS-win'); $fp = tmpfile(); fwrite($fp,$tempCSV); rewind($fp); setlocale(LC_ALL,'ja_JP.UTF-8'); while ($arr = fgetcsv($fp,1024)) { list ($name,$sex,$age) = $arr; echo '<table border=1>'; echo '<tr>'; echo '<td>','名前','</td>'; echo '<td>'.$name.'</td>'; echo '</tr>'; echo '<tr>'; echo '<td>','性別','</td>'; echo '<td>'.sex.'</td>'; echo '</tr>'; echo '<tr>'; echo '<td>','年齢','</td>'; echo '<td>'.$age.'</td>'; echo '</tr>'; echo '</table>'; } fclose($fp); function h($string) { return htmlspecialchars($string, ENT_QUOTES); } ?> 本を読んだり、ググったりしてヒントになる様な物を探しているのですが中々見つかりません。 初心者で申し訳ありませんが、どなたか教えていただけないでしょうか?

    • ベストアンサー
    • PHP
  • csvファイルのダウンロード

    phpでサーバーにあるCSVファイルをダウンロードさせる処理で、ファイルをダウンロードするとHTML部分のソースがファイルに書きこまれてしまっています。調べてみたのですが、解決出来ませんでした。お願いします まずサーバーにあるCSVファイルにsqLの結果を書き込み、その後 header ("Content-Disposition: attachment; filename=ファイル名"); header ("Content-type: application/x-csv"); readfile (ファイル名); という処理でダウンロードさせようとしています。 サーバーのCSVはデータの書き込みが成功しているのですが、 そのファイルをローカルにダウンロードして中身を確認すると、 XXX,XXX,XXX XXX,XXX,XXX <html> <head> ・・・ のような内容のファイルになっていました。

    • 締切済み
    • PHP
  • csvを使った画像データの保存と表示

    お世話になっております.ご教授いただけると助かります. データーベースの代わりにcsvを利用します. phpのバージョンは5を使っています. 入力用画面としてtouroku.phpを作成します. 内容は画像の説明(text)と画像データ(jpg)を指定するものです. 送信をするとcsvファイル(sample.csv)にデーターが保存されます. 画像データはPCの上にあるjpgをサーバの決められたフォルダにアップロードします. 続いてhyouzi.phpで検索を行います. sample.csvに保存されている情報から結果として説明と画像を表示します. textをcsvに保存して参照・編集はできております. 現在jpgの保存がうまくできません.このため参照・編集もできません. 参考としてtextとjpgをcsvに保存するサンプルを探しております. よろしくお願いいたします.

    • ベストアンサー
    • PHP

専門家に質問してみよう