我的网页中有一个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文件,然后将其保存后,我的网页在重新加载后会发生变化。
为什么?以及如何解决?感谢
答案 0 :(得分:1)
您可能正在将文件写入其他位置。检查运行php页面的当前目录,并尝试指定fopen的绝对路径而不是相对路径。
dirname(realpath(__FILE__))
将返回存储当前php文件的文件夹的路径,因此您可以生成绝对路径。
编辑:我还建议在fopen周围做一些错误检查,以便你知道文件是否真的打开了。
<强>附加强>
您确实应该将mysql_*
来电更改为至少mysqli_*
或PDO。原始的mysql扩展名是旧的,不支持预准备语句,并且已被弃用(并且将被删除)。