RE: [PHP] Help needed / failed to open stream: Permission denied
| From: | Jim Moseby | Date: | Wed, 19 Oct 2005 13:05:46 +0000 |
| Subject: | RE: [PHP] Help needed / failed to open stream: Permission denied | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-224327@lists.php.net to get a copy of this message | ||
>
> Hello,
>
> Trying to read a binary file in MySQL database, i have the
> following error :
>
> Warning: fopen(./) [function.fopen]: failed to open stream:
> Permission denied in d:\...\download.php on line 57
>
> This is line 57 $file_handle = fopen("./" . $file_name, "r");
>
> and my function
>
> function db_download_file($dbname, $file, $idreunion) {
> //Sélectionne la base de données
> mysql_select_db($dbname);
>
> //Requête SQL
> $select = "SELECT " . $file . " FROM
> inter_vertaaldienst WHERE id_reunion = '" . $idreunion . "'";
>
>
> //Exécution de la requête
> $file_records = @mysql_query($select);
>
> //En cas d'erreur, on affiche un message
> if (!$file_records){echo('<p>Erreur :' .
> mysql_error().'<p>');}
> //Autrement, on affiche le fichier
> else{
> if($file_record = mysql_fetch_array($file_records)){
> $file_handle = fopen("./" . $file_name, "r");
> $file_bytes = $file_record[0];
> fwrite($file_handle, $file_bytes,
> strlen($file_bytes));
> $return_value = "./" . $file_name;
> }
> }
> return($return_value);
> }
Place an:
echo "./" . $file_name;
...just above line 57 and make sure that the filename is what you expect it
to be. If it is, make sure the user the webserver is running as has
permissions sufficient to open the file for reading. You could, as a test,
temporarily chmod 777 the file to rule out permission issues.
JM