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 !

@+