yopuke | 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 ! 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
Code :
- // Recupération de variables
- $QuelFichier = $_POST["NomDuFichier"];
- $ContenuAEnregistrer = $_POST["ContenuFichier"];
- $NouveauFichier = $_POST["FichierNouveau"];
- // On verifie si le fichier existe
- if (file_exists($QuelFichier.'.html')){
- // si oui est ce qu'on l'écrase ?
- if($NouveauFichier == true){
- // NON : enregistrement pas possible
- $Retour=utf8_encode("Le fichier existe déjà : $QuelFichier | $NouveauFichier | $ContenuAEnregistrer" );
- echo "&Resultat=$Retour";
- } else {
- // OUI : on enregistre
- Enregistrer();
- }
- } else {
- // si non on créé un nouveau fichier
- if (!copy('lambda.html', $QuelFichier.'.html')) {
- $Retour=utf8_encode("Erreur technique (copie) : $QuelFichier | $NouveauFichier | $ContenuAEnregistrer" );
- echo "&Resultat=$Retour";
- exit;
- }
- // et on enregistre
- Enregistrer();
- }
- //
- function Enregistrer(){
- chmod($fichier, 0777);
- $fichier = fopen($QuelFichier.'.html', "w+" );
- if(!fwrite($fichier, $ContenuAEnregistrer)){
- $Retour=utf8_encode("Erreur technique (ecriture) : $QuelFichier | $NouveauFichier | $ContenuAEnregistrer" );
- echo "&Resultat=$Retour";
- exit;
- }
- else{
- fclose($fichier);
- // Envois resultat à Flash
- $Retour=utf8_encode("&Resultat=Enregistrement ok : $QuelFichier | $NouveauFichier | $ContenuAEnregistrer" );
- echo "&Resultat=$Retour";
- }
- }
|
Avec fputs() :
Code :
- function Enregistrer(){
- chmod($fichier, 0777);
- $fichier = fopen($QuelFichier,"w+" );
- fseek($fichier,0);
- if(!fputs($fichier,$ContenuAEnregistrer)){
- $Retour=utf8_encode("Erreur technique (ecriture) : $QuelFichier | $NouveauFichier | $ContenuAEnregistrer" );
- echo "&Resultat=$Retour";
- exit;
- }
- else{
- fclose($fichier);
- $Retour=utf8_encode("&Resultat=Enregistrement ok : $QuelFichier | $NouveauFichier | $ContenuAEnregistrer" );
- echo "&Resultat=$Retour";
- }
- }
|
Message édité par yopuke le 16-04-2006 à 14:27:58
|