dsnrixf6765 2014-02-09 19:48
浏览 61
已采纳

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

I have a javascript file called in my webpage. It contains only one var :

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

"img_i_.jpg" in tab are from my data base.

I've written a php code to update this file.

...

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

$script="var tab= [
";

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

$script = $script."];
";

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

...

When I check out my js file, all is correctly written, but when I reload my page, nothing has changed.

Curiously, when I edit that js file manually, and then save it then my webpage changes after reload.

Why ? And how to solve it ? Thanks

  • 写回答

1条回答 默认 最新

  • dongsu1539 2014-02-09 19:55
    关注

    You might be writing your file in a different location. Check the current directory under which the php page is run, and try to specify an absolute path to fopen rather than a relative one.

    dirname(realpath(__FILE__)) will return the path to the folder where the current php file is stored, so you can generate absolute paths through that.

    Edit: I'd also suggest doing some error checking around fopen, so that you know if the file was really opened.


    Extra

    You should really change your mysql_* calls to at least mysqli_* or PDO. The original mysql extension is old, doesn't support prepared statements and has been deprecated (and is due for removal).

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?