- ベストアンサー
PHPでMySQLのデータのインポート&SELECT結果のダウンロード
- PHPでMySQLのデータをインポートしてSELECT結果をダウンロードする方法について教えてください。
- PHPを使用して、夜中にアップされたCSVまたはTEXT形式のデータをMySQLの指定したテーブルにインポートし、前日のデータを削除する方法を教えてください。
- PHPを使用して、検索されたデータをCSV形式でダウンロードする方法について教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
PHPはスクリプト言語であるため、何らかのアクション(通常はWebへのアクセス)をトリガーにして起動されます。 つまり、何らかのアクションがなければ、自動的にPHPを動かすと言うことは不可能です。(cronはアクセスを自動しようと言うことです) 現在何らかの方法で、WebサーバーにPHPをUPしていると思いますが、そのUSERで、SSHなりTELNETなりで、サーバーにはログインできないのですか? 出来なければ、cronは利用できません。 私には他の方法が思いつきません(^^;
その他の回答 (2)
- kusukusu
- ベストアンサー率38% (141/363)
的はずれかもしれませんが、「時間を取得してある時間になればデータがインポート」と言うのは、「ある一定の時間に、なれば自動的にデータをインポートしたい」という事でしょうか? もしそれなら、時間になれば、そのPHPにたいして何らかのキックが必要です。 Linuxサーバーであれば、通常はcronを利用するのですが、そう言ったたぐいの話ですか?
- kusukusu
- ベストアンサー率38% (141/363)
1.出来ます 2.CSVファイルをfile関数で配列に取り込み、ループさせてinsertしていけばいいです。 3.指定したディレクトリが、httpユーザーに書込権限があれば、unlinkで削除出来ます。 4.??ちょっと意味が分かりません。
お礼
ありがとうございます。 上記の質問は何故かほとんど解決できました・・・。 後は時間を取得してある時間になればデータがインポートできればとりあえずは完成なのですが・・・。データのインポートができません。いろいろと調べた結果 LOAD DATA LOCAL INFILE "ファイル" INTO TABLE テーブル名"; 関数をPHPで動作させたらよいらしく $sql = "LOAD DATA LOCAL INFILE "ファイル" INTO TABLE テーブル名"; $rs = mysql_db_query($db,$sql); としたのですが、何故かダメでした・・・。 何かどうにかローカル環境からデータをインポートしたいのですが、手はありませんか?
お礼
はい、まさしくそういったことです。データの更新が真夜中になってしまいますので、そのようなことをしたいのです。 Linuxサーバーですが、cronとはLinuxの機能を使うということでしょうか? Linuxそのものにおける権限は持っていないので、Linuxを動作してどうこうってのはできないのですが、可能でしょうか?