IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[FTP] ecrire sur fichier via ftp


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Points : 68
    Points
    68
    Par défaut [FTP] ecrire sur fichier via ftp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <?php
    $exten=@$_POST['exten']; $local=@$_POST['ext-local']; $file="ftp://login:pass@www.ww4sip.com/extensions_additional_test.conf"; $global=""; 
    if($fd=fopen($file,"r")){ 	
    while(!feof($fd)){ 		
    $str=fgets($fd, 255); 		
    if(substr($str,0,18)=="; end of [ext-did]"){ 			$global.="exten => ".$exten.",1,Set(FROM_DID=".$exten.")\n"; 		$global.="exten => ".$exten.",n,Goto(ext-local,".$local.",1)\n"; 		} 		
    $global.=$str; 	
    } 
    	fclose($fd); 	
    if(is_readable($file)){ 	
    $fd=fopen($file,"w"); 	
    fputs($fd,$global); 	
    fclose($fd); 	
    echo("Mise à jour du fichier <b>$file</b> réussie"); 
    	     }
    else             
        echo"ecriture impossible"; } 
    else{ 	die("Ouverture du fichier <b>$file</b> impossible"); } 
    ? >
    j'essai d'écrire sur un fichier distant via ftp mais j'ai ce message d'erreur
    failed to open stream: Remote file already exists and overwrite context option not specified<br /> FTP server reports 213 6
    alors que j'ai tous les droits sur le fichier et le repertoir
    merrci

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Bien que la réponse soit ici donnée par rapport à l'extension DOMXML, elle n'en demeure pas moins valable : Enregistrer un fichier XML sur un serveur ftp.

    Donc il vous faut redéfinir le contexte FTP, de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $my_ftp_context = stream_context_create(array('ftp' => array('overwrite' => TRUE)));
    Puis en faire usage lors du fopen (celui en écriture), qui devient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $fd = fopen($file, 'w', FALSE, $my_ftp_context);
    (valable uniquement pour les versions 5)

  3. #3
    Membre du Club
    Inscrit en
    Juin 2005
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Points : 68
    Points
    68
    Par défaut
    Un trés grand merci monsieur julp.
    Grace a vous fini une galére d'une semain un grand merci encor

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Merci à julp pour cette réponse, cependant si je change le mode 'w' par 'a' (Ouvre en écriture seule ; place le pointeur de fichier à la fin du fichier. Si le fichier n'existe pas, on tente de le créer. )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $fd = fopen($file, 'a', FALSE, $my_ftp_context);
    Le serveur (ftpperso.free.fr) me répond:
    failed to open stream: FTP server reports 500 'APPE': command unrecognized

    Je suis perdu!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FTP] Ecrire sur un fichier distant via ftp
    Par jules_diedhiou dans le forum Langage
    Réponses: 2
    Dernier message: 12/05/2009, 14h23
  2. [WD12]Ecrire sur fichier ftp
    Par zimonn10 dans le forum WinDev
    Réponses: 2
    Dernier message: 28/04/2009, 15h20
  3. [FTP] Tranfert de fichiers via FTP
    Par cgone dans le forum Langage
    Réponses: 1
    Dernier message: 20/07/2007, 14h36
  4. [FTP] upload de fichiers via PHP
    Par r-zo dans le forum Langage
    Réponses: 7
    Dernier message: 02/01/2006, 15h29
  5. []transfert de fichiers via FTP
    Par ista9im dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 01/10/2005, 23h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo