Problème avec fwrite() : besoin d'un coup de main

Problème avec fwrite() : besoin d'un coup de main - PHP - Programmation

Marsh Posté le 16-04-2006 à 14:24:24    

Salut à tous,
Voilà le problème doit être tout bête mais je ne vois pas  :??: en fait j'ai ce code ci dessous qui me sert à enregistrer des fichiers depuis une interface en flash, tout fonctionne bien sauf au moment d'écrire le fichier avec fwrite() !  j'ai essayé chez deux hébergeur différents (online et ovh) rien n'y change. Le script reçois bien les variables de flash.
Les droits sur le dossier sont bien 777, du moins chez OVH, chez online on ne peut pas changer les permissions  
 
Une précision, chez OVH rien ne marche !  :pfff:  chez online seul fwrite() ne marche pas.
J'ai essayé avec fputs() mais le resultat est le même  :(  je vois pas trop quoi faire...
 
Merci d'avance pour vos suggestion  :jap:  
 

Code :
  1. // Recupération de variables
  2. $QuelFichier = $_POST["NomDuFichier"];
  3. $ContenuAEnregistrer = $_POST["ContenuFichier"];
  4. $NouveauFichier = $_POST["FichierNouveau"];
  5. // On verifie si le fichier existe
  6. if (file_exists($QuelFichier.'.html')){
  7.     // si oui est ce qu'on l'écrase ?
  8.     if($NouveauFichier == true){
  9.         // NON : enregistrement pas possible
  10.         $Retour=utf8_encode("Le fichier existe déjà : $QuelFichier | $NouveauFichier | $ContenuAEnregistrer" );
  11.         echo "&Resultat=$Retour";
  12.     } else {
  13.         // OUI : on enregistre
  14.         Enregistrer();
  15.     }
  16. } else {
  17.     // si non on créé un nouveau fichier
  18.     if (!copy('lambda.html', $QuelFichier.'.html')) { 
  19.          $Retour=utf8_encode("Erreur technique (copie) : $QuelFichier | $NouveauFichier | $ContenuAEnregistrer" );
  20.         echo "&Resultat=$Retour";
  21.         exit;
  22.     }
  23.     // et on enregistre
  24.     Enregistrer();
  25. }
  26. //
  27. function Enregistrer(){
  28.     chmod($fichier, 0777);
  29.     $fichier = fopen($QuelFichier.'.html', "w+" );
  30.     if(!fwrite($fichier, $ContenuAEnregistrer)){
  31.         $Retour=utf8_encode("Erreur technique (ecriture) : $QuelFichier | $NouveauFichier | $ContenuAEnregistrer" );
  32.         echo "&Resultat=$Retour";
  33.         exit;
  34.     }
  35.     else{
  36.         fclose($fichier);
  37.         // Envois resultat à Flash
  38.         $Retour=utf8_encode("&Resultat=Enregistrement ok : $QuelFichier | $NouveauFichier | $ContenuAEnregistrer" );       
  39.         echo "&Resultat=$Retour";
  40.     }
  41. }


Avec fputs() :

Code :
  1. function Enregistrer(){
  2.     chmod($fichier, 0777);
  3.     $fichier = fopen($QuelFichier,"w+" );
  4.     fseek($fichier,0);                   
  5.     if(!fputs($fichier,$ContenuAEnregistrer)){ 
  6.         $Retour=utf8_encode("Erreur technique (ecriture) : $QuelFichier | $NouveauFichier | $ContenuAEnregistrer" );
  7.         echo "&Resultat=$Retour";
  8.         exit;
  9.     } 
  10.     else{         
  11.         fclose($fichier);
  12.         $Retour=utf8_encode("&Resultat=Enregistrement ok : $QuelFichier | $NouveauFichier | $ContenuAEnregistrer" );       
  13.         echo "&Resultat=$Retour";
  14.     }
  15. }


Message édité par yopuke le 16-04-2006 à 14:27:58
Reply

Marsh Posté le 16-04-2006 à 14:24:24   

Reply

Marsh Posté le 16-04-2006 à 16:13:01    

"Rien ne marche" n'est pas terriblement explicite, le message d'erreur serait le bienvenu.
 
Ceci dit, tes variables $QuelFichier et $ContenuAEnregistrer ont pas vraiment l'air d'être globales et pourraient donc être joyeusement inconnue dans ta fonction...

Reply

Marsh Posté le 17-04-2006 à 00:00:24    

Par rien ne fonctionne je veux dire que chez ovh le simple appel du fichier php par flash me retourne "undefined"  :heink: comme si il n'existait pas, alors que cela fonctionne sous online !  :pt1cable:  
Sinon pour ta deuxième remarque je pense comprendre ce que tu veux dire, effectivement je vais regarder dans ce sens, merci  :jap:  

Reply

Marsh Posté le 17-04-2006 à 10:48:07    

Bé oui voilà c'était tout bête il fallait rendre les variable globale  :)  
Par contre je ne vois toujours pas pourquoi chez OVH flash n'arrive pas à charger le fichier Php !?  :??: est ce qu'il y a des restrictions particulière chez cet hébergeur ?

Reply

Sujets relatifs:

Leave a Replay

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