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] Écriture dans un fichier à distance [PHP 4]


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] Écriture dans un fichier à distance
    bonjour jaimerai modifier du code php sur une fichier se trouvant a distant voici le code
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
    </head>
    <?php
    if($_POST['envoyer']){
    $reference = $_POST['dirname'];
    				$file_header="ftp://login:pass@www.serveur.com/header.inc5.php";
    						if($fd=fopen($file_header,"r")){
    									while(!feof($fd)){
    									$str=fgets($fd, 255);
    										if(substr($str,0,10)=="0042"){
    										$contenuMod=str_replace('0042',$reference, $str); 
    											$contenuMod.=$str;
    											}
    									}
    							}
    							fclose($fd);
    					$my_ftp_context = stream_context_create(array('ftp' => array('overwrite' => TRUE)));
    					$fd=fopen($file_header, 'w', FALSE, $my_ftp_context);
    					fputs($fd,$contenuMod);
    					fclose($fd);
    }
    ?>
    <body>
     
    <form action="modif.php" method="post" name="form1">
    <table width="200" border="">
      <tr>
        <td>Directory Name</td>
     
        <td><input name="dirname" type="text" /></td>
      </tr>
      </tr>
      <tr>
        <td><input name="envoyer" type="submit" value="Create" /></td>
      </tr>
    </table>
    </body>
    </html>
    mais il maffiche que le fichier nexiste pas alor que le fichier est bien présent
    voici le message d'erreur:
    Warning: fopen(www.serveur.com/header.inc5.php): failed to open stream: No such file or directory in......on line 11

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 125
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 125
    Points : 8 287
    Points
    8 287
    Billets dans le blog
    17
    Par défaut
    Essaie avec ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $file_header="ftp://login:pass@serveur.com/header.inc5.php";
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  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
    merci davoir répondu mais lerreur ne change pas cest toujour la méme

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 125
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 125
    Points : 8 287
    Points
    8 287
    Billets dans le blog
    17
    Par défaut
    Es-tu sûr du couple login/pass ? Le gestionnaire de flux ftp est-il actif (à voir dans un phpinfo( )) ?
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  5. #5
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 125
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 125
    Points : 8 287
    Points
    8 287
    Billets dans le blog
    17
    Par défaut
    Tu peux vérifier aussi dans la doc si tout est en ordre côté config : http://fr.php.net/manual/fr/wrappers.ftp.php
    Notamment :
    Si le serveur ne supporte pas les connexions en mode passif, la connexion échouera.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  6. #6
    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
    Oui je pense puisque j'arrive a creer un repertoire et faire une copie des fichier via ftp voir discussion
    Mais je vais vérifier avec phpinfo

  7. #7
    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
    bonjour aprés moult recherche jai du faire la modification en local avant de faire la copie sur un autre serveur mais je suis bloqué sur un autre probléme quand je fais la modifcation ça éfface tout le fichier alors que je dois modifier seulement une chaine de caractére '0042' par le numéro rentrer dans le formulaire voici le code
    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
    21
    22
    23
    24
    25
    26
    27
     
    if($_POST['envoyer']){
    $reference = $_POST['numero'];
    		$file_header="./copydir/header.inc5.php";
    						if($fd=fopen($file_header,"r")){
    									while(!feof($fd)){
    									$str=fgets($fd, 255);
    										if(substr($str,0,10)=="0042"){
    										$contenuMod=str_replace('0042',$reference, $str); 
    											$contenuMod.=$str;
    											}
    									}
    							}<body>
    <form action="createdir1.php" method="post" name="form1">
    <table width="200" border="">
      <tr>
        <td>Directory Name</td>
     
        <td><input name="numero" type="text" /></td>
      </tr>
      </tr>
      <tr>
        <td><input name="envoyer" type="submit" value="modif" /></td>
      </tr>
    </table>
    </body>
    </html>
    merci de votre aide

  8. #8
    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
    finalement j'ai pu trouver la solution et merci d'avoir jeté un coup d'oeil
    voici le code sil ya quelqu'un qui a les méme problemes
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    if($_POST['envoyer']){
    $reference = $_POST['dirname'];
    		$file_header="./repertoire/fichier.php";
     
    						$fd=fopen($file_header,"r");
    						while(!feof($fd)){
    								$str=fgets($fd,4096);
    								if (ereg("0042",$str)){$str=str_replace("0042",$reference,$str);}
                                             $liste_modif.=$str;
    							}
    						fclose($fd);
    					$fd=fopen($file_header,"w+");
    					fwrite($fd,$liste_modif);
    					fclose($fd);
    <body>
    <form action="createdir1.php" method="post" name="form1">
    <table width="200" border="">
      <tr>
        <td>Directory Name</td>
     
        <td><input name="dirname" type="text" /></td>
      </tr>
      </tr>
      <tr>
        <td><input name="envoyer" type="submit" value="Create" /></td>
      </tr>
    </table>
    </body>
    </html>

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

Discussions similaires

  1. [FTP] problème d'écriture dans un fichier
    Par oops! dans le forum Langage
    Réponses: 14
    Dernier message: 08/08/2006, 16h52
  2. [PERL] Problème lecture/écriture dans un fichier
    Par LE NEINDRE dans le forum Langage
    Réponses: 4
    Dernier message: 17/08/2005, 13h15
  3. Problème d'écriture dans un fichier xml
    Par vanoou dans le forum C++Builder
    Réponses: 1
    Dernier message: 13/07/2005, 02h28
  4. Passer à la ligne lors de l'écriture dans un fichier
    Par hams dans le forum Assembleur
    Réponses: 4
    Dernier message: 17/04/2005, 19h25
  5. [JUnit] Junit écriture dans un fichier
    Par mikael35 dans le forum Tests et Performance
    Réponses: 1
    Dernier message: 10/08/2004, 13h11

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