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

PHP & Base de données Discussion :

[SQL] problème d'écriture fichier texte


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Points : 30
    Points
    30
    Par défaut [SQL] problème d'écriture fichier texte
    bonjour,

    j'ai un fichier texte que je converti en sql, pour cela je voudrais placer un morceau de code sql au début de mon fichier texte.

    l'option r+ de fopen devrai me permettre d'écrire au début de ce fichier seulement j'ai une parti de mon fichier qui disparait (en gros au lieu d'insérer du texte j'écrase le début de mon fichier:

    avant:

    Grigoriadis, N.', 'Kimena neoellinikis logotechnias [Texte imprim�] : 3'' Gymnasiou / N. Grigoriadis, D. Karvelis, Ch. Milionis,...[et al.] ; Minist�re hell�nique de l''Education nationale, Institut p�dagogique');
    après:

    Insert into ouvrage (auteur, titre) values('linikis logotechnias [Texte imprim�] : 3'' Gymnasiou / N. Grigoriadis, D. Karvelis, Ch. Milionis,...[et al.] ; Minist�re hell�nique de l''Education nationale, Institut p�dagogique');
    voila je laisse mon code au cas ou:

    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
    $f = 'essai.txt';
    $text = "Insert into ouvrage (auteur, titre) values('";
    $handle = fopen("$f","r+");
     
    // regarde si le fichier est accessible en écriture
    if (is_writable($f)) {
    // Ecriture
        if (fwrite($handle, $text) == FALSE) {
          echo 'Impossible d\'écrire dans le fichier '.$f.'';
          exit;
        }
     
        fclose($handle);
     
    }
    else {
          echo 'Impossible d\'écrire dans le fichier '.$f.'';
        }
    j'espère que vous pourrez m'aider.

    merci d'avance

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Bonjour

    tu ne peux pas "insérer" du texte au début d'un fichier de cette manière, là tu as justement le comportement normal qui est que tu écrases ce qui existe deja.
    Pour insérer une partie de texte au début d'un fichier il faut d'abord tout lire dans le script, ajouter le contenu voulu au début (dans le script) et ensuite tout réécrire dans le bon ordre.

  3. #3
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Bonjour
    je crois en fait que c'est normale puisque "r+" ouvre le fichier en lecture et écriture et place le pointeur au début du fichier, or il écrase donc n'est pas capable d'insérer du texte a cette endroit

    Ce que tu pourrait faire a mon avis, c'est de lire le fichier, récupérer son contenu et ensuite concatener ta string et réécrire le nouveau fichier

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Points : 30
    Points
    30
    Par défaut
    merci de ces réponses, pour récupérer le contenu du fichier, je fais quelque chose comme '$contents = file_get_contents($f);' ?

    mais comment faire pour rajouter ma chaîne en début?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Points : 30
    Points
    30
    Par défaut
    ok j'ai compris par moi même:

    $contents = "chaine".file_get_contents($f);'

    merci beaucoup

  6. #6
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Citation Envoyé par fr.php.net
    string fread ( resource handle, int length )

    fread() lit jusqu'à length octets dans le fichier référencé par handle. La lecture s'arrête lorsque length octets ont été lus, ou que l'on a atteint la fin du fichier, ou lorsqu'un paquet devient disponible ou (après avoir ouvert les flux utilisateurs) lorsque 8192 octets ont été lus, le premier des trois survenant.

    Retourne la chaîne lue ou FALSE si une erreur survient.
    fread

    Et tu as ton bout de code que tu place avant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
    // Lit un fichier, et le place dans une chaîne
    $filename = "/usr/local/something.txt";
    $handle = fopen ($filename, "r");
    $contents = fread ($handle, filesize ($filename));
    fclose ($handle);
     
     
    $text = "Insert into ouvrage (auteur, titre) values('";
    $text.=$contents;
     
    ...

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

Discussions similaires

  1. [Vb.net] Probléme écriture fichier textes
    Par miabi dans le forum VB.NET
    Réponses: 4
    Dernier message: 08/10/2009, 17h36
  2. Requete SQL copie vers un fichier texte
    Par paul.lvhna dans le forum Langage SQL
    Réponses: 1
    Dernier message: 19/04/2007, 14h34
  3. Problème STL lecture fichier texte
    Par Bourrine dans le forum VC++ .NET
    Réponses: 4
    Dernier message: 03/04/2007, 11h57
  4. [C#] écriture fichier texte
    Par damned3 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 11/10/2006, 02h18
  5. [vb.net] transfert d'une table SQL-Servr vers un fichier texte
    Par nkonito dans le forum Windows Forms
    Réponses: 1
    Dernier message: 25/05/2006, 04h36

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