Affichage des Images jour 6

Par Mn0073RF, il y a 10 ans


Bonjour,
Je suis le tuto créer un site web de A à Z mais là j'ai un petit souci:
j’ai fait exactement comme grafikart les images sont bien enregistrés dans la BDD et dans le dossier img, mais les images ne s’affichent pas sur la page d’édition des images voici le code de ma page admin_index :

<?php //echo debug($images); ?> <table class="table"> <thead> <tr> <th>Titre</th> <th>Actions</th> </tr> </thead> <tbody> <?php foreach ($images as $k => $v){ ?> <tr> <td> <img src="<?php echo Router::webroot('img/'.$v->file); ?>"> </td> <td> <?php echo $v->nameimg; ?> </td> <td> <a onclick="return confirm('Voulez vous vraiment supprimer cette image')" href="<?php echo Router::url('admin/medias/delete/'.$v->id) ?>">Supprimer</a> </td> </tr> <?php }; ?> </tbody> </table> <div class="page-header"> <h1>Ajouter une image</h1> </div> <form action="<?php echo Router::url('admin/medias/index/'.$post_id); ?>" method="post" enctype="multipart/form-data" > <?php echo $this->Form->input('file','Image',array('type'=>'file')); ?> <?php echo $this->Form->input('nameimg','Titre'); ?> <div class="actions"> <input type="submit" value="Envoyer" class="btn btn-primary"> </div> </form>

et quand je fais un debug($images) j'ai tous les details des images

Array ( [0] => stdClass Object ( [id] => 30 [nameimg] => bbbv [file] => 2016-04/G0010224.JPG [post_id] => 42 [type] => img ) [1] => stdClass Object ( [id] => 31 [nameimg] => bbbv [file] => 2016-04/G0010224.JPG [post_id] => 42 [type] => img ) )

Votre aide SVP merci.

9 réponses

nico41, il y a 10 ans

bonjour,

si tu inspectes ton code dans ton navigateur, que vois tu dans les balises images ?
Router::webroot te retourne t-il bien quelque chose comme : /img/2016-04/G0010224.JPG ?

Mn0073RF, il y a 10 ans

bonjour
voici ce que j'ai dans le console de l'inspecteur

GET http://localhost/tuto/site/img/2016-04/G0010224.JPG 404 (Not Found)

a voir le chimin n'est pas correct comment puis-je changer?
merci

nico41, il y a 10 ans

tes images sont-elles bien dans le dossier /img/2016-04 ?
si tu remplace

<img src="<?php echo Router::webroot('img/'.$v->file); ?>"> par <img src="/img/2016-04/G0010224.JPG" >
que ce passe t-il ?

( en considerant que ton dossier img est bien à la racine de ton DOCUMENT_ROOT )
utilises-tu un .htaccess pour faire une réécriture d'url ? l'erreur peut venir de là

Mn0073RF, il y a 10 ans

j'untilise bien un .htaccess; mes images sont bien dans le dossier img de mon webroot
si je remplace quoi vouliez vous dire?

nico41, il y a 10 ans

ça :

<tbody> <?php foreach ($images as $k => $v){ ?> <tr> <td> <img src="/img/2016-04/G0010224.JPG" > <!-- ici, pour voir si l'image s'affiche, ou si tu as toujours une 404 --> </td> <td> <?php echo $v->nameimg; ?> </td> <td> <a onclick="return confirm('Voulez vous vraiment supprimer cette image')" href="<?php echo Router::url('admin/medias/delete/'.$v->id) ?>">Supprimer</a> </td> </tr> <?php }; ?> </tbody>

peut on voir ton .htaccess ?

Mn0073RF, il y a 10 ans

j'ai toujours cette erreur et je ne compred pas !

GET http://localhost/img/2016-04/G0010224.JPG 404 (Not Found)
nico41, il y a 10 ans

il y a problème entre la config apache et comment ton Router construit les url
peut on voir ton .htaccess ?

nico41, il y a 10 ans

dans l'inspecteur de code que vois-tu à la place de ton lien de suppression d'image ?

<?php echo Router::url('admin/medias/delete/'.$v->id) ?>
Mn0073RF, il y a 10 ans

J’ai peut-être trouvé, ce script ne donnais pas un chemin exacte

<img src="<?php echo Router::webroot('img/' .$v ->file); ?>">

Voici le chemin qu’il me donne:

<img src="/tuto/site/img/2016-04/G0010224.JPG">

mais le chemin correcte devrais etre celui-ci:

<img src="/tuto/site/webroot/img/2016-04/G0010224.JPG">

et j'ai changer mon script comme suit:```
<img src="<?php echo Router::webroot('webroot/img/' .$v ->file); ?>">