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 :

Sauvegarde du fichier si le nombre de ligne est > de +1


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 64
    Points : 38
    Points
    38
    Par défaut Sauvegarde du fichier si le nombre de ligne est > de +1
    Bonjour,
    Voila j' ai cherché mais pas trouvé (syntaxe) comment compléter mon petit script de sauvegarde dans une base de donnée .txt
    Je souhaiterais que si une nouvelle donnée est entrée par formulaire dans le fichier source (h-d.php) on fopen le fichier de sauvegarde et on fwrite "a" à la suite, la dernière donnée qui a été envoyée.
    Voici ce que j'ai commencé à faire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    define('FICHIER', 'h-d.php');
        $resultats =array();
        @ $fop = fopen(FICHIER, 'r') or die('Ouverture en lecture de "' . FICHIER . '" impossible !');
       	$contenu_fichier = file_get_contents('h-d.php');
    echo substr_count($contenu_fichier, "\n");
    $nb = substr_count($contenu_fichier, "\n");
    if ($nb // (Et c'est là que ça coinse) => est supérieur au nombre de lignes existantes, on fopen(sauvegarde.txt, 'a') et on y fwrite la nouvelle donnée à la suite des données existantes...On fclose le fichier sauvgarde.txt...
    Je sais faire avec (le code posté juste ci-dessous) Mais pas avec un résultat compté auparavant. (j'espère que vous me comprendrez)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if ($nb < 100) {
    		echo "..." }
    ou $nb >, =, ==, ===, < >...
    (C'est pour une assoc qui possede un serveur php 5 mais sans DB.)
    Par avance merci pour vos conseils...

  2. #2
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    j'espère que vous me comprendrez
    Non

    Quelle est ta question concrètement ?

  3. #3
    Membre régulier
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2010
    Messages
    153
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2010
    Messages : 153
    Points : 107
    Points
    107
    Par défaut
    je ne comprends pas l'histoire du comptage mais si c'est pour ajouter une ligne en cas d'absence de cette ligne dans le fichier, je serais parti là-dessus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // remplir un tableau avec toutes les lignes du fichier
    $lines = file('h-d.php', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
    // si la ligne reçue du formulaire est absente du tableau...
    if (!in_array($ligne_du_formulaire, $lines)){
        // ajouter la ligne en fin de fichier
        $f = fopen('h-d.php', 'a');
        $w = fwrite($f, $ligne_du_formulaire);
       fclose($f);
    }
    Après s'il faut juste comparer le nombre de lignes dans le fichier avec le nombre de lignes reçues du formulaire, il suffit de faire un count() sur le tableau $lines et comparer à un count() sur les données formulaires transformées en tableau par un explode()

    ... si ça peut aider

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Normalement quand on a pas de SGBD sous la main, on utilise des fichiers XML pour la database et on fait des requêtes dedans avec des XPaths...

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 64
    Points : 38
    Points
    38
    Par défaut
    Merci pour vos réponses
    @Titum, tu as raison, c'est plus simple ainsi.
    @Benjamin Delespierre merci pour conseil, je vais voir pour améliorer ma façon de procéder, (comme quoi poser une question peut apporter toutes sortes de réponses...)

  6. #6
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    Je viens de tomber sur eXist-db qui justement permet d'utiliser des fichiers XML pour s'en servir comme database. ça peut t'intéresser je pense.

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

Discussions similaires

  1. [Batch] Fichier avec grand nombre de lignes et lenteur de traitement
    Par Aguire_ dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 09/05/2015, 09h10
  2. [Fichier délimité] Recuperer nombre de lignes - portée globalMap
    Par ejaub dans le forum Développement de jobs
    Réponses: 5
    Dernier message: 21/07/2011, 15h11
  3. Réponses: 7
    Dernier message: 10/09/2009, 10h37
  4. [Fichier] Nombre de ligne dans un fichier texte
    Par NewSer dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 10/11/2004, 16h58
  5. Réponses: 2
    Dernier message: 02/03/2004, 19h38

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