8

In this code :

$path = "C:\NucServ\www\vv\static\arrays\news.php";
  $fp = fopen($path, "w");
  if(fwrite($fp=fopen($path,"w"),$text))
  {
    echo "ok";
  }
  fclose($fp);

I have this error message:

failed to open stream: Invalid argument

What is wrong in my code?

2 Answers2

16

Your backslashes is converted into special chars by PHP. For instance, ...arrays\news.php gets turned into

   ...arrays
   ews.php

You should escape them like this:

$path = "C:\\NucServ\\www\\vv\\static\\arrays\\news.php"; 

Or use singles, like this:

$path = 'C:\NucServ\www\vv\static\arrays\news.php'; 

Also, your if is messed up. You shouldn't fopen the file again. Just use your $fp which you already have.

Martin Wickman
  • 19,662
  • 12
  • 82
  • 106
-2
  1. path error:

    $path = 'C:/NucServ/www/vv/static/arrays/news.php'; 
    
  2. file lock:

    user file_get_contents replace fopen
    
Peyman Mohamadpour
  • 17,954
  • 24
  • 89
  • 100