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 :

Recuperer une adresse dans un fichier


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut Recuperer une adresse dans un fichier
    Bonjour a tous,
    j'ai mis une adresse vers des dossiers dans un fichier a l'aide d'un formulaire, pas de probleme.

    Lorsque je veux utiliser cette adresse, (en ouvrant d'abord le fichier avec fopen, puis je la passe en variable, pour recuperer ensuite cette variable, contenant l'adresse complete, avec un deuxieme fopen),
    mon, deuxieme fopen ne pointe sur rien,
    et j'ai l'erreur : failed to open stream: Invalid argument in C:\Program Files\EasyPHP 2.0b1\www\FoS_online\traitement3.php on line 20....
    et : supplied argument is not a valid stream resource in


    J'ai verifié que mon premier fopen, charge bien l'adresse avec un echo, pas de probleme.

    En mettant l'adresse dans une variable initialisée, directement dans le fichier php, et en utilisant cette variable avec fopen, j' obtiens la bonne adresse.


    Ma question,
    est 'il possible de reutiliser la variable du premier fopen pour l'utiliser sur le deuxieme fopen ? apparement non, mais je ne suis pas un expert.


    Merci pour votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Montre nous ton code.

    Pour la première lecture, ça ira plus vite avec file_get_contents().
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    Voila:
    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
     
    <?php  
    //Ouverture et recuperation de l'adresse complete
    //Ouverture du fichier
    $fichierchemin = fopen("Chemincomplet.txt","r");
     
    // Initialisation de la variable contenu
    $contenu ="";
    //Mise en mémoire du fichier dans une variable $contenu
          $contenu .= fread($fichierchemin, 900);
     
      echo $contenu.'<br /><br />'; // = C:\Program Files\Monlogiciel\mondossier/Albuera1811.scn
    //Fermeture du fichier
    fclose ($fichierchemin);
     
     
     
     
    $cheminfos = "C:\Program Files\Monlogiciel\mondossier/Albuera1811.scn";//Marche en tant que chemin, mais je ne veux pas ça.
     
    // ---------------- Création et écriture du fichier local ----------------
    $fos = fopen($contenu,'r+');//Ne marche pas en tant que chemin, c'est apparement une ressource deja utilisée ???
    //Copie du fichier
     
    fseek($fos, 570);//Essai, a 570 ça peut me l'envoyer ailleurs, tout depend de la longueur des lignes des different fichier lus
    fwrite($fos, "\r\n Balance moral initiale:70");
    echo $fos;
     
     
    //Fermeture du fichier
    fclose ($fos);
    ?>

  4. #4
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    Salut,

    tu as un slash avant le nom du fichier, alors que les autres sont des anti-slash :

    C:\Program Files\Monlogiciel\mondossier/Albuera1811.scn

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    J'ai utilisé ce type d'adresse, et ca fonctionne.

    Meme en changeant la barre j'ai le meme probleme.

  6. #6
    Membre émérite
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Points : 2 522
    Points
    2 522
    Par défaut
    Le problème est lié au fait qu'on utilise " ou '. Voir les images ci-dessous. Apparemment si tu utilises " il faut doubler les \. Si tu utilises ', un \ simple suffit.


    Nom : dev010.jpg
Affichages : 139
Taille : 100,6 Ko
    Nom : dev011.jpg
Affichages : 127
Taille : 45,2 Ko
    Cela ne sert à rien d'optimiser quelque chose qui ne fonctionne pas.

    Mon site : www.emmella.fr

    Je recherche le manuel de l'Olivetti Logos 80B.

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2012
    Messages : 245
    Points : 52
    Points
    52
    Par défaut
    Bonjour Badaze,
    ( merci pour ton aide).

    J'ai pas vraiment verifié si ta solution etait la bonne, car je me suis mis auparavant a faire pas mal d'essais, dont le changement de ' ' en " " pour le r du deuxieme fopen.

    Mon code fonctionne.

    Voici le resultat ( avec des changement de noms de variable):



    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
     
    //Ouverture du fichier 
    $direction = fopen("Chemincomplet.txt","r");
     
    // Initialisation de la variable contenu
           $chemin ="";
    //Mise en mémoire du fichier dans une variable $chemin
           $chemin .= fread($direction, 90);
     
    //Fermeture du fichier
    fclose ($direction);
     
     
     
     
     
    //--------------------Mettre la bonne direction avec une variable qui recupere le "chemin du programme" mais aussi ajouter le chiffre pour atteindre le bon endroit
     
     
     
    // ---------------- Création et écriture du fichier scn - Mise en memoire du decalement par le fichier FichierNombreOctets.txt du fopen $octets----------------
          $fos = fopen("$chemin","r+");//(x86) pour pouvoir entrer dans toutes les versions de windows
    //Copie du fichier
          fseek($fos, $memoire);//Essai, a 570 ça peut me l'envoyer ailleurs, tout depend de la longueur des lignes. - Mise en memoire du decalement par le fichier FichierNombreOctets.txt du fopen $octets
          fwrite($fos, "\r\n Balance moral initiale:70");// Manque un traitement ici
          echo '<b>'.$memoire.'</b> Rappel du chiffre pour atteindre la bonne ligne. Vous avez modifié le fichier <br /><br /> ';
     
     
    //Fermeture du fichier
    fclose ($fos);

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

Discussions similaires

  1. Recuperer une image dans un fichier
    Par jojo42000 dans le forum wxPython
    Réponses: 4
    Dernier message: 30/07/2008, 14h16
  2. Trouver une ligne dans un fichier d'adresses
    Par geok120 dans le forum C
    Réponses: 12
    Dernier message: 04/05/2007, 12h09
  3. recuperer une donnée dans le meme fichier
    Par phpaide dans le forum Langage
    Réponses: 2
    Dernier message: 14/06/2006, 11h03
  4. Recuperation d'une chaîne dans un fichier
    Par black is beautiful dans le forum Windows
    Réponses: 3
    Dernier message: 20/03/2006, 18h57
  5. Shell - Récupérer une variable dans un autre fichier
    Par claralavraie dans le forum Linux
    Réponses: 9
    Dernier message: 11/01/2006, 16h25

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