###前提・実現したいこと
下記のPHPは、このPHPファイルにアクセスするとMySQLのデータを自動的にブラウザ上でダウンロードできます。
このPHPにfputcsvを付け加えて、ブラウザ上ではなくサーバー上にCSVファイルとして保存したいです
###該当のソースコード
<?php $down_file = date('Ymd') . '.csv'; header("Content-Type: application/octet-stream"); header("Content-Disposition: attachment; filename=" . $down_file); $db_host = "localhost"; $db_user = "root"; $db_passwd = "passwd"; $db_name = "db_name"; $sql = "SELECT * FROM table"; $db = mysql_connect($db_host,$db_user,$db_passwd); mysql_query("set names utf8"); mysql_select_db($db_name,$db); $result = mysql_query($sql,$db); for($i=0; $i<mysql_num_fields($result); $i++){ //print (mb_convert_encoding(mysql_field_name($result,$i),'SJIS', 'UTF-8').","); } //print("\n"); for($j=0 ; $j<mysql_num_rows($result); $j++) { for($k=0; $k<mysql_num_fields($result); $k++) { $str = mysql_result($result,$j,$k); print (mb_convert_encoding($str,'SJIS', 'UTF-8').","); } print("\n"); } mysql_close($db); ?>###試したこと
一番下に
$fp = fopen('file.csv', 'w');
fputcsv($fp, $str);
を加えましたが、真っ白になるだけでSQLデータが記入されることはありませんでした。
を加えてみたのですが何事も起こりませんでした。
どのように改造すればいいか教えてください。
宜しくお願い致します。
###補足情報(言語/FW/ツール等のバージョンなど)
より詳細な情報
PHP Version 5.3.3
MySQL 5.1.65
回答2件
あなたの回答
tips
プレビュー