Comment afficher mon image uploadée au-dessus de la racine ?

Résolu/Fermé
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 - 18 juin 2022 à 18:03
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 - 21 juin 2022 à 11:42
Bonjour, tout le monde
J'ai un formulaire d'upload de photos qui fonctionne très bien et qui enregistre les photos au-dessus de la racine.
Mon souci c'est que je n'arrive pas à afficher les photos ensuite.
Lorsque je fais
    $img= '../uploads/photos/IMG_0435.jpg';
    if (file_exists($img))
    {
        echo "<img src='$img'>";
        echo "ok";
    }

J'ai bien mon "ok" mais l'mage ne s'affiche pas...Je précise que le dossier upploads et le dossier photos sont tous les deux en chmod 777.
Qu'est-ce que je fais mal ?

Merci d'avance pour votre aide !
Configuration: Macintosh / Firefox 101.0
A voir également:

6 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
18 juin 2022 à 18:43
Bonjour,

Par défaut, php ne peut exécuter (lire) que des fichiers qui se trouvent dans son répertoire web...
Si tu as placé tes fichiers en dehors de ce dossier.. (ce qui normalement ne se fait pas...) il faut faire des réglages au niveau d'apache
Des solutions sont proposées un peu partout sur le net... mais franchement.. pourquoi se compliquer la vie...
Déplaces ton dossier uploads DANS ton dossier web .. et ça marchera très bien.
0
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 2
18 juin 2022 à 19:51
J'ai aussi essayé en mettant le répertoire dans le dossier web, mais là j'ai des pbs de droits, ça ne veut pas enregistrer le fichier alors que tout est en 777. Mais bon je vais continuer à chercher, je devrais bien y arriver ! ;-)
Merci pour ton aide !
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
18 juin 2022 à 19:58
Il faudrait que tu nous montres le code que tu utilises pour faire la sauvegarde ... qu'on regarde ce qui coince éventuellement
0
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 2
18 juin 2022 à 20:01
je viens de changer le épertoire pour le mettre dans le dossier www, et voici le mesage quej'ai à l'upload :
Warning:  move_uploaded_file(http://admin.escalier-b.com/css/img/photos/IMG_0430.jpg): Failed to open stream: HTTP wrapper does not support writeable connections in /homepages/41/d736140878/htdocs/escalierb/admin/app/Views/Templates/Front/Forms/trat_photouploads.php on line 26
0
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 2
18 juin 2022 à 20:02
et voici mon script d'upload
    $uploaddir = DIR_IMG."photos/";
    $uploadfile = $uploaddir . basename($_FILES['photo']['name']);

    echo '<pre>';
    if (move_uploaded_file($_FILES['photo']['tmp_name'], $uploadfile)) {
        echo "Le fichier est valide, et a été téléchargé
            avec succès. Voici plus d'informations :\n";

            echo "<div class='upphot'><img src='".$uploadfile."'></div>";
    } else {
        echo "Attaque potentielle par téléchargement de fichiers.
            Voici plus d'informations :\n";
    }
    echo 'Voici quelques informations de débogage :';
    echo "url dest = ". $uploadfile;
    print_r($_FILES);
    
    echo '</pre>';
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 2
18 juin 2022 à 20:08
et le contenu de $_FILES
    [photo] => Array
        (
            [name] => IMG_0430.jpg
            [type] => image/jpeg
            [tmp_name] => /tmp/php49hyY5
            [error] => 0
            [size] => 82420
        )
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
18 juin 2022 à 20:15
Tu peux me faire un var_dump de la variable
var_dump($uploaddir);


et au cas où,
avant le move .. faire
if( !is_dir($uploaddir)){
  echo $uploaddir . " n'est pas un dossier  !" ;
  exit;
}

if( !is_writable($uploaddir)){
  echo $uploaddir . " n'est pas autorisé en écriture !" ;
  exit;
}


J'ai l'impression que ta variable DIR_IMG contient une URL ... et non un CHEMIN (relatif ou absolu)
0
ephelya Messages postés 289 Date d'inscription mercredi 28 septembre 2011 Statut Membre Dernière intervention 20 juin 2023 2
Modifié le 21 juin 2022 à 11:43
Hé hé, tu me sauvs la mise, une fois encore ! Tu avais raison, le chemin n'était pas bon. Non seulement c'étiat une url mais en plus je m'étais tropée de dossier...
Du coup tout est réglé et j'arrive bien à afficher mon image, c'est parfait !:-)
Merci beaucoup !
0