kiyo00さん、こんにちは。
phpMyAdminをプラグインとして動作させるWP-phpMyAdminが応用範囲が広く便利なのではと思います。
他にもっと簡単なのがあるなら、それにこしたことはありませんが。
jim912さん
早速の書き込み有難う御座います。
WP-phpMyAdminで試させて頂きましたが、
ダウンロード画面は出てこず、MySQLにて検索した
結果のみブラウザ上に表示されてしまいました。
「W3 Total Cache」というプラグインを導入すると
ダウンロード画面が出て、CSVファイルとして
ダウンロードまでは出来ますが、ファイルの内容が
MySQLのSELECT結果だけではなく、サイトのソースコードまでが
ファイルに書き込まれているという状況です。
こんにちは。
これは、phpMyAdmin で、エクスポートする。その場合、「CSV データ」にチェックを入れてダウンロードする、という単純な問題ではないのでしょうか? それとも?
Satoko Kusakabeさん
書き込み頂きまして誠に有難う御座います。
説明不足で大変申し訳御座いませんでした。
私のやりたいことですが、
自作したWebサイトAに「MySQLデータをダウンロード」と
いうボタンを作成し、そのボタンをクリックするとページBに飛び、
ページB内のSQL文にてMySQLからデータを抽出し、
CSVファイルに書き出し、ダウンロードするという内容になります。
そこで、ページBにてダウンロード処理を開始させるための
header(“Content-Type: application/octet-stream”);
とCSVファイル名を指定するために
header(“Content-Disposition: attachment; filename=”sample.csv”);
を記載して、実行してみたのですが、Wordpressでは動作せず、
WebサイトBにてSQL文の結果が出力されるという状況になっております。
そこで、ページBにてダウンロード処理を開始させるための
header(“Content-Type: application/octet-stream”);
えっと、WordPressがheader情報を送信する前に実行できていますか?ページにソースコードで記述しても先にWordPressのheader情報が送信されるので当然実行されませんよね。
ダウンロード処理のみを実行させるならページBはWordPressのページで実現するのではなく、普通にphpで作成してもよろしいのではないですか?(実験ではうまくいっているようですし)
でなければ、ページBの時のみ上記headerを先に実行するようにheader.phpを改造ですかね。
外部phpファイルで処理しないで、wordPressを利用しようとする理由はどういうところにありますか?差し支えなければ、教えてください。
余計なことですが、
header("Content-Disposition: attachment; filename="sample.csv");
IE6だと、バグで、ダウンロードできないみたいですよ。
shokun0803さん
書き込み頂きまして、有難う御座います。
WordPressがheader情報を送信する前に実行も考えたのですが、
header.phpを書き換えるということが正当なのかを判断できず、
また、他に方法があるのではと思い投稿させて頂きました。
ページBのみを外部phpファイルにて実行させる方向で実装させようと思います。
数々のご助言、誠に有難う御座います。
また、勉強不足で申し訳御座いません。
nobitaさん
書き込み頂きまして、有難う御座います。
WordPress上で実装を行いたい理由ですが、
ページを全てWordPressで管理したいという点だけですので、
外部PHPファイルにて実装しようと思います。
また、IE6に関してのバグ情報もご丁寧に有難う御座います。
かなり助かりました。
いろいろとお教え頂きまして、誠に有難う御座います。
みなさんそのような回答ではだめです。
CSVをダウンロードする際、header()が送信されるまえにプログラムを実行
する必要があります。WordPressではその為の関数が用意されております。
add_action( ‘init’, ‘GetUserInfoData’ );
function GetUserInfoData(){
if($_GET[‘page’] == ‘data_net_menu_e’){
ここにCSVダウンロードのプログラムを記載
header(“Content-Disposition: attachment; filename=$file_name”);
header(“Content-Length:$file_length”);
header(“Content-Type: application/octet-stream”);
readfile($file);
}
}