file_put_contents : ne veut pas fonctionner si le fichier n'existe pas

file_put_contents : ne veut pas fonctionner si le fichier n'existe pas - PHP - Programmation

Marsh Posté le 03-08-2007 à 15:00:25    

Bonjour !
 
Je rencontre actuellement un problème étrange. Je souhaite stocker des informations dans un fichier texte en utilisant la fonction php file_put_contents.
Cependant, je me suis rendu compte que cela ne fonctionnait seulement si le fichier existait déjà !! Alors que d'habitude, je n'ai pas ce problème.
 
Auriez-vous une piste ?
 
Merci.

Reply

Marsh Posté le 03-08-2007 à 15:00:25   

Reply

Marsh Posté le 03-08-2007 à 16:02:04    

D'apres ce que je lis ici:

 

"Note that this function will create the file if it does not exists, assuming PHP has write access to the folder."

 

T'as regardé de ce côté là?


Message édité par durkheim le 03-08-2007 à 16:02:26
Reply

Marsh Posté le 03-08-2007 à 16:22:21    

Oui, désolé j'ai oublié de le mentionner. C'est une des premières choses que j'ai vérifié, mon IUSR (utilisateur IIS) à bien tous les droits dans le répertoire. De plus, PHP ne me renvoie pas d'erreur (pas d'access denied ou autres). Le fichier n'est tout simplement pas créé et file_put_contents me retourne "false".

Reply

Marsh Posté le 03-08-2007 à 16:33:14    

Je crois, d'apres cette page que fopen permet de remonter une erreur plus précisément. T'as essayé de faire un fopen?

Reply

Marsh Posté le 03-08-2007 à 16:50:58    

tu peux toujours utiliser

Code :
  1. $f = fopen('fichier', 'w');
  2. fwrite($content, $f);
  3. fclose($f);


ça coute pas beaucoup plus cher


---------------
Martin
Reply

Marsh Posté le 03-08-2007 à 16:52:33    

C'est sur, mais c'était histoire d'utiliser une seul ligne :P
 
Je vais essayer comme ça voir si ça change qqchose.
 
A+

Reply

Marsh Posté le 03-08-2007 à 16:55:10    

Bon, même problème avec fopen, fwrite, fclose. Pas de message d'erreur retourné, mais toujours pas de fichier...
 
Y'a t'il une fonction php permettant de récupérer la dernière erreur trouvée ?  
 
Merci

Reply

Marsh Posté le 03-08-2007 à 17:00:21    

Bizarre que tu n'aies pas d'erreur...:
 
"Si l'ouverture échoue, la fonction retourne FALSE et une alerte E_WARNING sera générée. Vous pouvez utiliser le caractère @  pour supprimer cette alerte."

Reply

Marsh Posté le 03-08-2007 à 17:03:14    

Oui c'est ça qui est étrange... Pas d'erreur affichée... Pourtant si je force une erreur (genre appeler une fonction qui n'existe pas) php me renvoie bien le message d'erreur correspondant...
 
Y'a t'il un moyen d'afficher le dernier E_WARNING généré ?
 
A+

Reply

Marsh Posté le 03-08-2007 à 17:15:00    

Oulala, vraiment bizarre !! Je viens de sortir la création de mon fichier de la méthode qui la contenait et là ça marche !! C'est à n'y rien comprendre :/
 
En gros, si je fais mon file_put_contents dans une méthode ça marche pas si le fichier est pas déjà créer, alors que si je le fais depuis mon script, sans appeler la méthode qui el fait, ça marche..
 
Un pti coup de pouce ? ^^"
 
Merci

Reply

Marsh Posté le 03-08-2007 à 17:15:00   

Reply

Marsh Posté le 03-08-2007 à 17:31:45    

Reply

Marsh Posté le 03-08-2007 à 17:33:15    

Ok punaise... Je suis trop ***... J'ai fais un test file_exists dans ma méthode >< En gros si le fichier existe pas, je continuai pas.
 
Bon, pour me faire pardonner, je vous autorise à me traiter de nulosse XD
 
Merci quand même pour votre aide... C'est souvent les anneries les plus betes qui passent inaperçues...

Reply

Marsh Posté le 03-08-2007 à 17:41:29    

Rhôôô putain... Je te traiterai de rien, vu qu'on aurait dû s'en douter nous mêmes...

Reply

Marsh Posté le 03-08-2007 à 17:50:20    

Je suis trop consciencieux avec mes file_exists XD

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed