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 :

Ouvrir de gros fichiers en php ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 30
    Par défaut Ouvrir de gros fichiers en php ?
    Bonsoir à tous,

    J'ai un script php qui me permet de consulter les logs, cela marche pour les petits fichier (<2M) mais pas pour les gros.

    Ma question : Quelle est la solution pour un ouvrir un gros fichier ( dépassant les 1 GB ) en php ? (bien évidemment avec traitement par ligne)

    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    je dirai que t'es jamais obligé de charger tout ton fichier en memoire... au démarrage de ton appli. sans doute qu'une manipulation de tes données comme un flux 'résoudra' ton besoin.

  3. #3
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 373
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 373
    Billets dans le blog
    17
    Par défaut
    J'ai un script php qui me permet de consulter les logs, cela marche pour les petits fichier (<2M) mais pas pour les gros.
    Quel est le problème / message d'erreur ?

    Citation Envoyé par BOTEN ANNA Voir le message
    Ma question : Quelle est la solution pour un ouvrir un gros fichier ( dépassant les 1 GB ) en php ? (bien évidemment avec traitement par ligne)
    Ne pas utiliser file_get_contents( )
    fopen/fgets/fclose devraient suffire.

  4. #4
    Membre averti
    Inscrit en
    Août 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 30
    Par défaut
    J'utilise actuellement la fonction array_reverse(file($file)); car je dois lire les logs de la fin au début et c'est trop trop gourmand en mémoire.

    J'ai l'erreur :
    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 1975602547 bytes) in /var/site/track.php on line 100
    Justement c'est ce que je cherche, c'est de lire un fichier à la volée sans le charger en mémoire et si possible à l'envers?

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    oui avec fseek + fread, sinon tu lis avec fgets et tu prends que les lignes qui t’intéresses

  6. #6
    Membre averti
    Inscrit en
    Août 2008
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 30
    Par défaut
    J'ai essayé avec fread et toujours le même problème de mémoire...


    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 1975602547 bytes) in /var/site/track.php on line 100

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par BOTEN ANNA Voir le message
    J'ai essayé avec fread et toujours le même problème de mémoire...


    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 1975602547 bytes) in /var/site/track.php on line 100
    parce que tu met touts dans une variable, montre ce que t'as fait

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 08/06/2007, 21h39
  2. Ouvrir un TRES gros fichier
    Par BainE dans le forum Windows XP
    Réponses: 3
    Dernier message: 05/04/2007, 17h13
  3. file_get_contents: ouvrir un gros fichier
    Par blirette dans le forum Langage
    Réponses: 5
    Dernier message: 20/09/2006, 16h58
  4. [Upload] Upload de GROS fichiers en php
    Par osscour dans le forum Langage
    Réponses: 21
    Dernier message: 26/05/2006, 14h13
  5. [Techno] Échange de gros fichiers : PHP ou Java ?
    Par K-Kaï dans le forum Général Conception Web
    Réponses: 11
    Dernier message: 04/05/2006, 01h18

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