Comment afficher mon image uploadée au-dessus de la racine ?
Résolu
ephelya
Messages postés
296
Statut
Membre
-
ephelya Messages postés 296 Statut Membre -
ephelya Messages postés 296 Statut Membre -
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
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
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
6 réponses
-
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.
-
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 ! -
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
-
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>'; -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
et le contenu de $_FILES
[photo] => Array ( [name] => IMG_0430.jpg [type] => image/jpeg [tmp_name] => /tmp/php49hyY5 [error] => 0 [size] => 82420 )-
Tu peux me faire un var_dump de la variable
var_dump($uploaddir);
et au cas où,
avant le move .. faireif( !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)
-
-
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 !