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] Lire et �crire dans un fichier [D�butant(e)]


Sujet :

Langage PHP

  1. #1
    Membre chevronn� Avatar de dj-julio
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    745
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France, Finist�re (Bretagne)

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 745
    Par d�faut [FTP] Lire et �crire dans un fichier
    Bonjour,

    Je souhaite remplacer la valeur d'une ligne d'un fichier par une autre.

    J'ai un fichier dans lequel se trouve l'adresse ip d'un serveur FTP.
    J'ai �galement un formulaire qui permet � l'admin de modifier cette valeur.

    je r�cup�re la nouvelle valeur avec un POST
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $NewFTP=$_POST['txtFTP'];  //Récupération de la nouvelle adresse du FTP.		
    $fichier='variablesFTP.php';  //Fichier sur lequel on va travailler.
     
    $ouvre=fopen($fichier,"a+"); // ouverture en lecture ( a+)
    $contenu_array=file($fichier); //On enregistre le fichier variablesFTP.php dans un tableau, ligne par ligne
     
    print_r($contenu_array);
    fclose($ouvre);			// fermeture fichier
    Le print_r me renvoit un tableau vide

  2. #2
    Expert confirm� Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par d�faut
    pour file(), tu n'as pas besoin de fopen()

  3. #3
    Membre chevronn� Avatar de dj-julio
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    745
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France, Finist�re (Bretagne)

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 745
    Par d�faut
    Ok , j'arrive � r�cuperer un tableau contenant les lignes du fichier.
    Je modifie la ligne 2 du tableau

    mais je n'arrive toujours pas � r��crire le fichier.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    $NewFTP=$_POST['txtFTP'];  //Récupération de la nouvelle adresse du FTP.		
    $fichier='variablesFTP.php';  //Fichier sur lequel on va travailler.
     
    $contenu_array = file($fichier);
    $contenu_array[2]='$AccesDoc=ftp://'.$NewFTP.'/;';

  4. #4
    Expert confirm� Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par d�faut
    PHP4 ou PHP5 ?

  5. #5
    Membre chevronn� Avatar de dj-julio
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    745
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France, Finist�re (Bretagne)

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 745
    Par d�faut
    c'est du php 4

    j'ai vu qu'il fallait utiliser :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    $fp=fopen($fichier,"w");
    fwrite($fp, "nouveau text");
    Mais je n'arrive pas � �crire le fichier � partir d'un tableau en fait.

  6. #6
    Expert confirm� Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418

  7. #7
    Membre �prouv�
    Avatar de Anduriel
    Homme Profil pro
    Ing�nieur int�gration
    Inscrit en
    F�vrier 2004
    Messages
    2 290
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur int�gration

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 2 290
    Par d�faut
    Tu veux modifier une entr�e dans le fichier variablesFTP ou ajouter la ligne?

  8. #8
    Membre chevronn� Avatar de dj-julio
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    745
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France, Finist�re (Bretagne)

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 745
    Par d�faut
    Je n'y arrive toujours pas

    voici mon fichier variablesFTP.php :

    • <?
      //Chemin d'acc�s des documents de reprographie stock�s sur le serveur.
      $AccesDoc="ftp://xxx.xxx.xxx.xxx/";

      //Variables de connection au Digipath (en FTP).
      $ftp_server=$AccesDoc;
      $ftp_user_name = 'user';
      $ftp_user_pass = 'pass';
      ?>


    Ce que je d�sire effectuer :

    Pouvoir modifier la ligne :
    • $AccesDoc="ftp://xxx.xxx.xxx.xxx/";


    Pour cela je r�cup�re une variable par un formulaire (POST).
    J'arrive � r�cup�rer la totalit� du fichier texte dans un tableau (ligne par ligne).
    J'arrive � modifier la valeur de la ligne 2 (dans le tableau).
    Mais je n'arrive pas � tout r��crire dans le fichier variablesFTP.php

    merci d'avance.

  9. #9
    Membre Expert
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 068
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 068
    Par d�faut
    $contenu_array=file($fichier);
    c'pas un tableau �a...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    $contenu_array=array(file($fichier));
    ou alors j'ai rien comprite...

  10. #10
    Membre chevronn� Avatar de dj-julio
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    745
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France, Finist�re (Bretagne)

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 745
    Par d�faut
    bah j'ai vu �a sur d'autres sites qui traitaient de l'�criture, lecture,.. dans des fichiers.

    Mais je crois bien que c'est un tableau, parce que je peux acc�der � ses ligne de la mani�re :

  11. #11
    Expert confirm� Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par d�faut
    Je t'ai aid�. Tu as test� ma derni�re proposition ?

  12. #12
    Membre chevronn� Avatar de dj-julio
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    745
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France, Finist�re (Bretagne)

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 745
    Par d�faut
    oui je l'ai test�e, mais j'ai pas trop compris le but
    avec implode je ne vais pas pouvoir r��crire, si ?

    d�sol� j'ai du mal pourtant je cherche

  13. #13
    Expert confirm� Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par d�faut
    A quoi sert implode() ? A quoi sert file() ?

  14. #14
    Membre chevronn� Avatar de dj-julio
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    745
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France, Finist�re (Bretagne)

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 745
    Par d�faut
    bah file � ce que j'ai compris va mettre chaque ligne du fichier � traiter dans une nouvelle ligne du tableau
    exemple :
    $contenu_array=file($fichier);

    et implode �a va retourner une cha�ne compos�e de tous les �l�ments du tableau.

    donc si dans mon tableau j'ai :

    ligne1;
    ligne2;
    ligne3;
    �a devrait me ramener : ligne1 ligne2 ligne3
    implode(",", $array); <= exemple de php.net
    mais je ne vois pas quel est le s�parateur dans un tableau

  15. #15
    Membre chevronn� Avatar de dj-julio
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    745
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France, Finist�re (Bretagne)

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 745
    Par d�faut
    Je viens de tester cela :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    $fichier='variablesFTP.php';
    $contenu_array=file($fichier);
     
    echo "Test : ", implode(',', $contenu_array);
    mais �a ne me renvoit rien

    Pourtant, si je fais un print_r($contenu_array);

    j'obtient ceci :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Array ( [0] => //Chemin d'accès des documents de reprographie stockés sur le serveur. [2] => $AccesDoc=ftp://test/; [3] => [4] => //Variables de connection au Digipath (en FTP). [5] => $ftp_server="test"; [6] => $ftp_user_name = 'user'; [7] => $ftp_user_pass = 'pass'; [8] => ?> )

  16. #16
    Expert confirm� Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par d�faut
    relis bien ma proposition.

  17. #17
    Membre chevronn� Avatar de dj-julio
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    745
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France, Finist�re (Bretagne)

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 745
    Par d�faut
    ta proposition hum
    il me semble que c'est de cela dont tu parles : implode('\n', $contenu_array);

    mais �a ne fonctionne pas non plus.

  18. #18
    Membre Expert
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 068
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 068
    Par d�faut
    oui, pardon, file renvoie dans un tableau, exact.
    Donc tu veux sauvegarder ce tableau apr�s modif dans un fichier .txt...?
    Il faut donc le transformer en chaine de caract�res:
    -soit serialize() mais je crois que �a va pas coller avec file()
    -soit $chaine=valeur[0].valeur[1].valeur[2]...etc. Faut voir si y a pas une fonction qui fait �a, sinon faudra l'ecrire toi-m�me.

  19. #19
    Membre chevronn� Avatar de dj-julio
    Profil pro
    Inscrit en
    D�cembre 2005
    Messages
    745
    D�tails du profil
    Informations personnelles :
    �ge : 38
    Localisation : France, Finist�re (Bretagne)

    Informations forums :
    Inscription : D�cembre 2005
    Messages : 745
    Par d�faut
    j'ai fais le test suivant pour voir :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    $contenu_array=array(1,2,3);
    echo "Test : ", implode('<br>', $contenu_array);
    et �a me renvoit bien :
    Test : 1
    2
    3
    Mais le probl�me (peut-�tre) c'est qu'en faisant file($fichier)
    je n'ai pas un tableau sous la forme array(1,2,3);
    mais sous la forme : array([0]=>1, [1]=>2, [2]=>3);

    ??? je suis sur que c'est trop une b�tise en plus

  20. #20
    Expert confirm� Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par d�faut
    Citation Envoy� par dj-julio
    ta proposition hum
    il me semble que c'est de cela dont tu parles : implode('\n', $contenu_array);

    mais �a ne fonctionne pas non plus.
    On y est presque. Il ne te reste plus qu'� relire ce que je t'ai proposer car il y a une diff�rence (hormis le nom de la variable). On va y arriver. Cette erreur est r�currente chez tout d�veloppeur php.

    e n'ai pas un tableau sous la forme array(1,2,3);
    mais sous la forme : array([0]=>1, [1]=>2, [2]=>3);
    T'inqui�te, c'est la meme chose.

+ R�pondre � la discussion
Cette discussion est r�solue.
Page 1 sur 3 123 Derni�reDerni�re

Discussions similaires

  1. lire et �crire dans un fichier
    Par aroua dans le forum Entr�e/Sortie
    R�ponses: 2
    Dernier message: 04/04/2008, 14h44
  2. Lire et �crire dans un fichier binaire
    Par poche dans le forum C
    R�ponses: 17
    Dernier message: 19/03/2007, 16h52
  3. Lire et �crire dans un fichier bin!
    Par poche dans le forum C
    R�ponses: 9
    Dernier message: 12/03/2007, 12h42
  4. lire et �crire dans un fichier
    Par karel dans le forum C
    R�ponses: 15
    Dernier message: 18/01/2006, 17h24
  5. [Rech. Comp.] Lire et �crire dans des fichiers XML
    Par Rodrigue dans le forum C++Builder
    R�ponses: 4
    Dernier message: 26/08/2005, 20h48

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