[英]PHP fopen/fwrite()/fclose expects parameter 1 to be resource/failed open stream
[英]Resource id #7 when using fopen and fwrite in PHP
我試圖在PHP中創建一個下載鏈接,以便您可以將信息下載到表中。 我剛開始寫它,卻遇到了麻煩。 這是我到目前為止有:
<?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>
它只是應該顯示類似Code = 1 Name = John等的內容。當我打開txt文件時,它只是說Resource ID#7。 奇怪的是,當我回顯$ download_data時,它在網頁中看起來正確。 為了使整個字符串進入文本文件,我需要對fwrite做一些特殊的事情
(注意:我同時使用了mysql_fetch_array和mysql_fetch_assoc,並且結果相同。此外,如果我簡單地聲明一個變量,例如$ test =“ this is a test”;它可以工作)。
編輯:我試圖注釋掉腳本中的所有其他代碼,我得到相同的結果。 打印$ download_data顯示正確的結果,但是文本文件仍然僅顯示Resource ID#7。 我什至嘗試刪除txt文件,並在重新創建它時執行相同的操作。
您幾乎可以肯定不會通過示例代碼向我們展示整個圖片。
您可能會將以下其中一項寫入文件:
$fh
mysql_query()
返回的結果 檢查您是否沒有混淆$result
和$row
。 甚至更好,發布所有代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.