簡體   English   中英

fwrite php,文件不是真的保存嗎?

[英]fwrite php, file is not really saved?

我的網頁中有一個javascript文件。 它僅包含一個var:

var tab = [ "img1.jpg" ,
            "img2.jpg" ,
            .......... ,
            "img100.jpg"
          ]

tab中的"img_i_.jpg"來自我的數據庫。

我寫了一個php代碼來更新此文件。

...

$res = mysql_query($sql) or die(mysql_error());

$script="var tab= [\n";

while($r = mysql_fetch_assoc($res) )
    $script .= "\t\"" . $r['name']"\",\n";

$script = $script."];\n";

$fileName = fopen("js/tab.js", "w");
fwrite($fileName, $script);
fclose($fileName);

...

當我簽出我的js文件時,所有內容均已正確編寫,但是當我重新加載頁面時,沒有任何變化。

奇怪的是,當我手動編輯該js文件,然后將其保存后,重新加載后我的網頁就會更改。

為什么呢 以及如何解決呢? 謝謝

您可能正在其他位置寫入文件。 檢查運行php頁面的當前目錄,並嘗試指定fopen的絕對路徑,而不是相對路徑。

dirname(realpath(__FILE__))將路徑返回到當前php文件所在的文件夾,因此您可以通過該路徑生成絕對路徑。

編輯:我也建議圍繞fopen做一些錯誤檢查,以便您知道文件是否真的打開了。


額外

您實際上應該至少將mysql_*調用更改為mysqli_*PDO 原始的mysql擴展名很舊,不支持准備好的語句,已被棄用(並將刪除)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM