2012-05-04 14 views
0

PHPでダウンロードリンクを作成しようとしているので、情報をテーブルにダウンロードできます。私はちょうどそれを書いて始めて、邪魔に遭った。ここで私はこれまで持っているものです。PHPでfopenとfwriteを使用する場合のリソースID#7

<?php 
$sql = "SELECT * FROM " . $survey . ";"; 
$result = mysql_query($sql) 
    or die(mysql_error()); 
$row = mysql_fetch_assoc($result); 


$something = "This is text"; 
$myFile = "data.txt"; 
$fh = fopen($myFile, 'w') or die("can't open file"); 

$download_data = ""; 
foreach ($row as $k=>$v){ 
     $download_data .= $k . "=" . $v . "\n"; 
} 
fwrite($fh, $download_data); 
fclose($fh); 

echo $download_data; 

?> 
<a href="data.txt">Download </a> 

ちょうど私がtxtファイルを開くとコード= 1つの名前=ジョンなどのようなものを表示するようになっている、それは単にリソースID#7語ります。変わった部分は、$ download_dataをエコーすると、Webページで正しく表示されます。文字列全体をテキストファイルに取り込むためにfwriteと何か特別なことがありますか?

(注:私はmysql_fetch_arrayとmysql_fetch_assocの両方を使用していますが、どちらも同じ結果を持っています。 $ test = "これはテストです"のように動作します)。

編集: スクリプト内の他のコードをすべてコメントアウトしてみましたが、同じ結果が得られました。 $ download_dataを印刷すると正しい結果が表示されますが、テキストファイルにはまだリソースID#7しか表示されません。私もtxtファイルを削除しようとしましたが、それが再作成されるとき、同じことをします。

+0

クエリから取得したデータを画面にエコーすることはできますか? – j08691

+0

投稿からコードを削除しましたか?私はまだこの動作を再現することができません。 – Wiseguy

+0

$行をエコーし​​ますか?私が$ row ['fieldName']をエコーすると、適切な結果が得られます。 – sbatson5

答えて

0

ほとんどの場合、サンプルコードで全体の画像を表示することはほとんどありません。

あなたはおそらく、ファイルへのこれらのものの一つ書いている

  1. ファイルハンドル、$fh
  2. 結果が

mysql_query()から返さあなたが$resultを混合していない確認し、 $row。あるいは、あなたのコードをすべて投稿してください。

+0

私はそれを理解しました。何らかの理由で、txtファイルを上書きしていません。だから、私はtxtファイルを読み込み、Resource id#7を見ていました。私は、PHPコードのtxtファイルの名前を変更し、reranし、新しいテキストファイルを見て、データがそこにあった。応答していただきありがとうございます。 – sbatson5

関連する問題