Question

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= [\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);

...

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

Was it helpful?

Solution

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).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top