Comment afficher mon image uploadée au-dessus de la racine ?
Résolu
ephelya
Messages postés
282
Date d'inscription
Statut
Membre
Dernière intervention
-
ephelya Messages postés 282 Date d'inscription Statut Membre Dernière intervention -
ephelya Messages postés 282 Date d'inscription Statut Membre Dernière intervention -
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
A voir également:
- "Windows 10"
- Image iso - Guide
- Image de manchots sur une image de plage. - Forum Graphisme
- Comment ecrire racine carrée sur telephone ✓ - Forum iPhone
- Afficher mot de passe wifi android - Guide
- Acronis true image - Télécharger - Sauvegarde
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.
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 !
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
et au cas où,
avant le move .. faire
J'ai l'impression que ta variable DIR_IMG contient une URL ... et non un CHEMIN (relatif ou absolu)
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)