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

Bibliothèques et frameworks PHP Discussion :

[Librairies] Problème avec gzopen()


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Lordsephiroth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 199
    Par défaut [Librairies] Problème avec gzopen()
    Bonjour à tous,

    Voici mon script, il me paraît tout simple :

    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
    <?php
     
    $message = "Un string de la mort qui tue, comme d\'hab un truc sans intérêt.";
     
    if(file_exists("alliance.gz")){//suppression du fichier
    unlink("alliance.gz");
    }
     
    $test = touch("alliance.gz");//Création du fichier gz
    if(test){
    echo "nice \n";
    }
    else{
    echo "failed \n";
    }
    $filepointer = gzopen("alliance.gz", "W"); //ouverture en écriture du fichier
     
    echo "file pointer done\n";
     
    $compressedmessage = gzdeflate($message);//compression
     
    echo "compressed message \n";
     
    gzwrite($filepointer, $compressedmessage);//écriture sur le fichier
     
    echo "writing done !\n";
     
    ?>
    J'aimerais enregistrer un string compressé dans un fichier .gz. Le problème vient à l'exécution :

    nice
    Warning: gzopen(alliance.gz): failed to open stream: No such file or directory in /xxxpathxxx/testcgi/testgz.php on line 19
    file pointer done compressed message
    Warning: gzwrite(): supplied argument is not a valid stream resource in /xxxpathxxx/testcgi/testgz.php on line 29
    writing done !
    Pour une raison que je comprend pas, le fichier est bien créé mais la fonction gzopen() n'arrive pas à y accéder. Le mod du fichier est 664 sur le FTP et mon hébergeur interdit de changer le mod d'un fichier (mais les dossiers c'est bon...)

    Qui a une idée de la provenance de l'erreur?

    Merci beaucoup d'avance...

  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
    Remplace
    par

    Tu es sous windows ?

  3. #3
    Membre confirmé Avatar de Lordsephiroth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 199
    Par défaut
    Je suis sous windows xp, effectivement, mais mon hébergeur tourne sur unix...

    Merci pour la petite erreur, mais comme je le pensais ça n'a rien changé.

    J'avais vérifié que le fichier .gz était bien créé sur le FTP.

    J'ai modifié mon script pour faire un test :

    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
    $message = "Un string de la mort qui tue, comme d\'hab un truc sans intérêt.";
    if(file_exists("./alliance.txt")){//suppression du fichier
       unlink("./alliance.txt");
    }
    $test = touch("./alliance.txt");//Création du fichier
    if($test){
       echo "nice \n";
    }
    else{
       echo "failed \n";
    }
    $filepointer = fopen("./alliance.txt", "W"); //ouverture en écriture du fichier
    echo "file pointer done\n";
    fwrite($filepointer, $message);//écriture sur le fichier
    echo "writing done !\n";
    et même avec une fonction fopen et fwrite classique ça marche pas, le message d'erreur reste le même. Le fichier est créé sur le FTP mais il n'est pas ouvert correctement... Je capte rien du tout !

  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
    quel est le résultat du script que tu viens de poster ?

  5. #5
    Membre confirmé Avatar de Lordsephiroth
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 199
    Par défaut
    nice
    Warning: fopen(./alliance.txt): failed to open stream: No such file or directory in /xxxxxxxxxxxxxx/testcgi/testgz.php on line 14
    file pointer done
    Warning: fwrite(): supplied argument is not a valid stream resource in /xxxxxxxxxxxxxxxxx/testcgi/testgz.php on line 16
    writing done !
    J'ai vérifié, le dossier dans lequel je suis (testcgi) est en 777 comme mod.

  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
    Par défaut
    Remplace ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $filepointer = fopen("./alliance.txt", "W"); //ouverture en écriture du fichier
    par ceci et dis-nous ce que ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    clearstatcache();
    var_dump(file_exists("./alliance.txt"));
    $filepointer = fopen("./alliance.txt", "W"); //ouverture en écriture du fichier

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/06/2010, 11h06
  2. [subversion/trac] Probl. de permission avec authz dans svnserve.conf
    Par mcdeffice dans le forum Administration système
    Réponses: 0
    Dernier message: 23/07/2009, 16h21
  3. Réponses: 7
    Dernier message: 07/07/2009, 11h14
  4. Réponses: 2
    Dernier message: 10/11/2006, 08h24
  5. Réponses: 3
    Dernier message: 21/06/2006, 14h31

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