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.
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); ?>">
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 ?
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
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à
j'untilise bien un .htaccess; mes images sont bien dans le dossier img de mon webroot
si je remplace quoi vouliez vous dire?
ç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 ?
j'ai toujours cette erreur et je ne compred pas !
GET http://localhost/img/2016-04/G0010224.JPG 404 (Not Found)
il y a problème entre la config apache et comment ton Router construit les url
peut on voir ton .htaccess ?
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) ?>