Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/03/2007, 17h14   #1
Invité de passage
 
Inscription : décembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 10
Points : 2
Points : 2
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 :
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 :

Citation:
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 !

@+
sardo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2007, 17h27   #2
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
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 ?
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 08h48   #3
Invité de passage
 
Inscription : décembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 10
Points : 2
Points : 2
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 :

Citation:
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....
sardo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 09h09   #4
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
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 :

__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 10h36   #5
Invité de passage
 
Inscription : décembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 10
Points : 2
Points : 2
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 :

Citation:
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
Citation:
chmod("./img", 777);
ça ne fonctionne pas non plus...

Merci de te soucier de mon cas.
sardo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 11h55   #6
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
et en faisant :

?
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 13h29   #7
Invité de passage
 
Inscription : décembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 10
Points : 2
Points : 2
en faisant comme ceci

Citation:
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....
sardo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 13h40   #8
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
regarde le code html source une fois l image inseree et verifie la syntaxe de ta balise img
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 13h48   #9
Invité de passage
 
Inscription : décembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 10
Points : 2
Points : 2
A première vue ça semble normal :

Code :
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....
sardo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 13h59   #10
Invité de passage
 
Inscription : décembre 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 10
Points : 2
Points : 2
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 !!

@+
sardo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2007, 14h05   #11
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
c'est pas grave l'essentiel c est que tu ai appris quelquechose lol
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h18.


 
 
 
 
Partenaires

Hébergement Web