Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1696 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [php]warning fopen

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[php]warning fopen

n°1282301
come18
Posté le 12-01-2006 à 16:46:00  profilanswer
 

re-Bonjour
j'ai cette erreur,
Warning: fopen(fichier.csv): failed to open stream: Permission denied in /home/icare/www/administration/gestion_requetes.php on line 186
quelqu'un connait il la solution?
Comment donner les droits qu'il manque?
merci
 
mon code:
 
if($nom_requete AND $requete)
 {
 $nomrequete='fichier.csv';
 $fichier=fopen($nomrequete,'x+');
 $requete_utilisateur=mysql_query($requete);
 while($donnees=mysql_fetch_array($requete_utilisateur))
  {    
  $aecrire=implode(';',$donnees).'\n';
  fputs($fichier,"$aecrire" );
  }
 fclose($fichier);  
 echo '<a href="'.$nomrequete.'">fichier</a>';
 }

Message cité 1 fois
Message édité par come18 le 12-01-2006 à 17:42:17
mood
Publicité
Posté le 12-01-2006 à 16:46:00  profilanswer
 

n°1282304
soju
One shot !
Posté le 12-01-2006 à 16:48:48  profilanswer
 

come18 a écrit :

Comment donner les droits qu'il manque?

avec chown et/ou chmod, mais ce n'est pas du php, ce sont des commandes système

n°1282306
come18
Posté le 12-01-2006 à 16:50:15  profilanswer
 

heu en fait j'avais deja mis un chmod 777 dans le repertoire courant du ftp
mais ca n'a rien changé.

n°1282308
skeye
Posté le 12-01-2006 à 16:52:57  profilanswer
 

Il existe déjà, ton fichier, non?:o

Citation :

x+ :  Crée et ouvre le fichier en lecture et écriture ; place le pointeur de fichier au début du fichier. Si le fichier existe déjà, fopen() va échouer, en retournant FALSE et en générant une erreur de niveau E_WARNING. Si le fichier n'existe pas, fopen() tente de le créer. Ce mode est l'équivalent des options O_EXCL|O_CREAT  pour l'appel système open(2) sous-jacent. Cette option est supportée à partir de PHP 4.3.2, et fonctionne uniquement avec des fichiers locaux.


Message édité par skeye le 12-01-2006 à 16:53:30

---------------
Can't buy what I want because it's free -
n°1282313
come18
Posté le 12-01-2006 à 16:54:48  profilanswer
 

non non il existe pas, je dois le creer dynamiquement.

n°1282316
skeye
Posté le 12-01-2006 à 16:55:36  profilanswer
 

Tu es sûr?:o
Tu as essayé en mode w plutot que x+?:o


Message édité par skeye le 12-01-2006 à 16:56:23

---------------
Can't buy what I want because it's free -
n°1282319
come18
Posté le 12-01-2006 à 16:57:21  profilanswer
 

je reessaye alors, ;)

n°1282322
come18
Posté le 12-01-2006 à 16:58:14  profilanswer
 

ben non c'est pareil.. :(

n°1341833
serialclea​ner
Posté le 07-04-2006 à 23:06:43  profilanswer
 

Bon je débarque un peu tard, mais j'ai un problème similaire.
Pour le résoudre il faut spécifier de manière absolue le chemin du fichier, dans ton cas c'est :
$nomrequete = "/home/icare/www/administration/fichier.csv"


---------------
Un bon script vaut tous les clicks du monde. | Errements Alternatifs
n°1342125
newneo2001
Posté le 08-04-2006 à 16:37:18  profilanswer
 

non le chemin du fichier est correct. il n'est pas obligé de mettre le chemin absolue
 
tu as un pb c'est qu'il faut mettre ton rep /administration en chmod 777 et ca c pas génial qd même.
 
essaie plutot de le créer dans un autre rep.
 
poru récapituler tu dois avoir le dossier qui contient ton ficheir en chmod 777 et l'ouvrir ac le mode w au lieu de x+
 
bye


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
mood
Publicité
Posté le 08-04-2006 à 16:37:18  profilanswer
 

n°1342179
serialclea​ner
Posté le 08-04-2006 à 20:08:09  profilanswer
 

J'utilise ce code :

<?php
class Queue{
 
  protected $queue;
  private $filename = "./test.html";
 
  function __construct(){
    if (file_exists($this->filename)){
      $this->queue = file($this->filename);
    }else{
      $this->queue = array();
    }
  }
 
  function __destruct(){
    if (!file_exists($this->filename)){
      $fp = fopen ($this->filename, "w" );
      fclose($fp);
    }
    file_put_contents( $this->filename, $this->queue );
  }
 
}
$q = new Queue;
?>


 
ces droits :
 

drwxr-xr-x   23 root root   856 avr  6 22:30 /var/
drwxrwxr-x  10 apache apache  392 avr  7 22:31 /var/www/
drwxrwxr-x   5 apache apache    392 avr  8 19:58 /var/www/html/
-rw-r--r--  1 apache apache  453 avr  7 23:38 /var/www/html/test.php
 
apache    4126  0.0  0.7  17936  8112 ?        S    09:52   0:00 /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf -DAPACHE2 -DHAV


et  

Warning: fopen(./test.html) [function.fopen]: failed to open stream: Permission denied in /var/www/html/test.php on line 17
 
Warning: fclose(): supplied argument is not a valid stream resource in /var/www/html/test.php on line 18
 
Warning: file_put_contents(./test.html) [function.file-put-contents]: failed to open stream: Permission denied in /var/www/html/test.php on line 20


 
Je comprends rien, avec ce code ça fonctionne !  :pt1cable:  

<?php
$filename = "test.html";
      $fp = fopen ($filename, "w" );
      fclose($fp);
?>


---------------
Un bon script vaut tous les clicks du monde. | Errements Alternatifs

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [php]warning fopen

 

Sujets relatifs
Warning: ftp_fput() [function.ftp-fput]: Opening data channel for fileovh et fopen
warning: implicit declaration of function 'ftruncate'Fopen pour un URL
Warning: Trop curieux... [résolu!]warning gcc [Résolu]
Pb de realloc et warning lors de la compilationTransformation de caractères lors d'un fopen sur url distante
warning a l apel de file_get_contents[PHP] Warning sur fopen()
Plus de sujets relatifs à : [php]warning fopen


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR