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 :

problème getImageSize sur serveur


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut problème getImageSize sur serveur
    Bonjour à tous,

    Je fait depuis quelques jours des exercices de php dans un livre et je bloque sur l'un d'eux.

    Cet exercice à pour but de créer un album photo en ligne et en voici le code :

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title>Télécharger un fichier</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    </head>
    <body>
    <h1>Mon album photo en ligne</h1>
    <h3>Télécharger un fichier</h3>
    <form action='<?php echo $_SERVER['PHP_SELF'] ?>' method="post" 
    enctype="multipart/form-data">
    <input type="file" name="fichier">
    <input type="submit" name='submit' value="Télécharger le fichier">
    </form>
    <?php
    $chemin = "img/"; // On indique le chemin
     
    if (isset($_FILES['fichier']) && $_FILES['fichier']['size'] > 0) {
        $tailleMax = 200000; // On indique la taille en octets
        $nomTemp = $_FILES['fichier']['tmp_name'];
        $nomFichier = $_FILES['fichier']['name'];
        $tailleFichier = $_FILES['fichier']['size'];
        $typeFichier = GetImageSize($nomTemp);
     
        if ($typeFichier[2] == 1 || $typeFichier[2] == 2) { // GIF ou JPG ?
            if ($tailleFichier <= $tailleMax) { // Fichier trop gros ?
                if (move_uploaded_file($nomTemp, $chemin . $nomFichier)) {
    				chmod($chemin.$nom_fichier, 0666);  
                    echo "<p>Téléchargement <b>réussi</b> !
                    Taille du fichier : <b>$tailleFichier</b> octets, 
                    Nom du fichier : <b>$nomFichier</b><br></p>";
                } else {
                    echo "<p>Le téléchargement a malheureusement échoué !</p>";
                } 
            } else {
                echo "<p>La taille du fichier est supérieure à <b>$tailleMax  
                octets</b>, il est donc trop gros !</p>";
            } 
        } else {
            echo "<p>Il ne s’agit pas d’un fichier GIF ou 
            JPEG valide !</p>";
        } 
        echo "<form action='{$_SERVER['PHP_SELF']}' method='post'>
              <input type='submit' value='OK'></form>";
    } 
    $filehandle = opendir($chemin); // Début de la lecture des fichiers
    while ($file = readdir($filehandle)) {
        if ($file != "." && $file != "..") {
            $taille = GetImageSize($chemin . $file);
            echo "<p><img src='$chemin$file' $taille[3]><br></p>\n";
        } 
    } 
    closedir($filehandle); // Fin de la lecture des fichiers
    ?>
     
    </body>
    </html>
    Le problème est qu' une fois sur le serveur, je test la page et voici le message d'erreur que j'obtiens :

    Warning: getimagesize(img/Athlète.jpg): failed to open stream: Operation not permitted in /home/httpd/vhosts/www.xela-design.be/web/albumphoto.php on line 49
    Pour palier à ce problème, l'auteur du livre propose de faire un chmod 777 sur mon dossier img avec filezila(par exemple) et/ou de rajouter la ligne de code qui se trouve à la ligne 28 dans mon code (cad : chmod($chemin.$nom_fichier, 0666).

    Merci Beaucoup pour votre aide !

    @+

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    Boule de cristal quelle est la question ?

    Boule de cristale :: "Surement comment puis-je faire ceci ?"

    Non je ne pense pas il faudrait demander a ce jeune homme .....

    Quelle est la question je vous pris ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Ma question est la suivante :

    - Pourquoi est-ce que mes images ne s'affichent pas et comment y remedier ?
    - Pourquoi ai-je ce message d'erreur :

    Warning: getimagesize(img/Athlète.jpg): failed to open stream: Operation not permitted in /home/httpd/vhosts/www.xela-design.be/web/albumphoto.php on line 49
    Merci à Vous....

  4. #4
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    donc effectivement il faudrait deja verifier le chmod du dossier contenant les photos !

    1 - Soit en utilisant filezila , clic droit sur le dossier en question -> propriétés
    2 soit en ajoutant effectivement une ligne de code (de preference en debut de script) qui donne le chmod 777 sur le dossier (pour 666 on vera plus tard ) , grace a la fonction :


  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Pour ce qui est de la modification de la propriété du fichier avec filezila, je l'avais déjà fait sans succès...

    Et en mettant la ligne de code que tu viens de m'indiquer j'obtiens ceci :

    Parse error: syntax error, unexpected '.', expecting ')' in /home/httpd/vhosts/www.xela-design.be/web/albumphoto.php on line 17
    et en rajoutant des guillemets
    chmod("./img", 777);
    ça ne fonctionne pas non plus...

    Merci de te soucier de mon cas.

  6. #6
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    et en faisant :

    ?

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    en faisant comme ceci

    chmod("./img", 0777);
    Il n'y a plus de message d'erreur mais les photos ne s'affichent toujours pas

    Il m'indique que le téléchargement a réussi mais à la place des photos j'ai un beau cadre vide....

  8. #8
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    regarde le code html source une fois l image inseree et verifie la syntaxe de ta balise img

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    A première vue ça semble normal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <body>
    <h1>Mon album photo en ligne</h1>
    <h3>Télécharger un fichier</h3>
    <form action='/albumphoto.php' method="post" 
    enctype="multipart/form-data">
    <input type="file" name="fichier">
    <input type="submit" name='submit' value="Télécharger le fichier">
    </form>
    <p><img src='img/maison.jpg' width="600" height="450"><br></p>
    <p><img src='img/provence.jpg' width="319" height="248"><br></p>
     
    </body>
    Mystère....

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Tu vas certainement me haïr et avoir l'impression que tu as perdu ton temps mais j'ai trouvé la solution.

    En fait, juste avant ce livre-ci j'ai étudié un livre sur PHP4. Et je n'ai donc pas encore l'habitude de rajouter l'extension PHP5 !! Et apparement mon hébergeur ne supportais bien cet oubli...Maintenant ça fonctionne très bien....

    Vraiment désolé et encore un tout grand merci !!

    @+

  11. #11
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

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

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    c'est pas grave l'essentiel c est que tu ai appris quelquechose lol

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

Discussions similaires

  1. [WS 2008 R2] Problème Outlook sur serveur TSE 2008
    Par Sadric dans le forum Windows Serveur
    Réponses: 0
    Dernier message: 01/03/2011, 15h42
  2. Problème impression sur serveur NAS?!
    Par frodon33 dans le forum Access
    Réponses: 2
    Dernier message: 24/01/2010, 19h03
  3. Problème PHPMyAdmin sur serveur Apache2 windows
    Par filiplarlibe dans le forum Apache
    Réponses: 3
    Dernier message: 10/05/2009, 22h20
  4. Problème Java sur serveur tomcat
    Par 5l1m5 dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 29/01/2009, 23h52
  5. Problème "ampache" sur serveur 2003.
    Par fifyx dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 19/03/2008, 10h21

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