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

时间:2014-02-09 19:48:03

标签: javascript php fwrite

我的网页中有一个javascript文件。它只包含一个var:

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

tab来自我的数据库。

我写了一个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文件,然后将其保存后,我的网页在重新加载后会发生变化。

为什么?以及如何解决?感谢

1 个答案:

答案 0 :(得分:1)

您可能正在将文件写入其他位置。检查运行php页面的当前目录,并尝试指定fopen的绝对路径而不是相对路径。

dirname(realpath(__FILE__))将返回存储当前php文件的文件夹的路径,因此您可以生成绝对路径。

编辑:我还建议在fopen周围做一些错误检查,以便你知道文件是否真的打开了。


<强>附加

您确实应该将mysql_*来电更改为至少mysqli_*PDO。原始的mysql扩展名是旧的,不支持预准备语句,并且已被弃用(并且将被删除)。