Création
d'entreprise
Posez votre question Signaler

Comment afficher une image avec lien en PHP [Résolu]

Enki - Dernière réponse le 17 nov. 2011 à 10:19
Bonjour,

Pour afficher une image en php, c'est :
{print("<img src=\"./image.jpg\" border=\"0\">");}

Mais pour afficher une image avec le lien, je ne sais pas comment on fait.
En html, je sais que c'est <a href="image.jpg">Voir image</a>

Et en php ?
Lire la suite 

Comment afficher une image avec lien en PHP »

13 réponses
Réponse
+5
moins plus
Bon , même si le dernier messages date un peu .. (2007) il faut savoir que le php est code interpréter par un serveur.
Est ce serveur fait ce qu'on luis dit donc en html si l'on veux afficher une image avec un lien on ferra :

<a href="(LIEN SANS PARENTHÈSE)"> <img src="(IMAGES SANS PARENTHÈSE)" /> </a>

en php en pourrait l'écrire de différente maniéré :

<?php // on ouvre la balise php , a noter votre page dois être du type .php

print "<a href=\"(LIEN SANS PARENTHESE)\"> <img src=\"(IMAGES SANS PARENTHESE)\" /> </a>";
// noter bien les antislash devant les "
print '<a href="(LIEN SANS PARENTHESE)"> <img src="(IMAGES SANS PARENTHESE)" /> </a>';
// noter bien qu'il n'y a plus d'antislash devant les " parce que on inscrit le texte avec des '

echo "<a href=\"(LIEN SANS PARENTHESE)\"> <img src=\"(IMAGES SANS PARENTHESE)\" /> </a>";
echo '<a href="(LIEN SANS PARENTHESE)"> <img src="(IMAGES SANS PARENTHESE)" /> </a>';

// même chose pour les 2 dernier sauf changement de fonction print et echo sont pareille !


?>
Ajouter un commentaire
Réponse
+4
moins plus
Salut, Commence déjà par rendre ton code un peut plus visible ^^'
ensuite regarde la ligne 4,

"if(false !== ($file = readdir($dossier)))" oouuuuhh

c'est pas beau ça ! c'est plus simple comme ça regarde :

"if($file = readdir($dossier))" enfin bref le "false !==" ne sert a rien je pense que tu comprendra...

maintenant je vais te montrer pourquoi ca ne peut pas marcher comme ça :


----------------------------------------------------------------------
1 <?php
2 $dossier = opendir('imagesreduites'); //$dossier est un pointeur vers le dossier 'imagesreduites'
3 $i = 0;
4 while (false !== ($file = readdir($dossier))) { //$file contient bien le nom du fichier :)
5 if($file != "."&&$file != ".."&&$file != "index.php" ) {
6 echo '<img src=/"' $dossier '/' $file '"><br />'; //$dossier ne contient pas le nom du dossier.
7 }
8 }
9 ?>
----------------------------------------------------------------------

Alors a la ligne 6 il serait plus simple de mettre directement 'imagesreduites' non ? -.-'
réfléchit y... $dossier c'est un peu comme un tableau qui contient tout les fichiers, ce n'est donc
pas le nom de ton dossier, pigé ?

@plouch !
Ajouter un commentaire
Réponse
+1
moins plus
Rappel: Le Php est que du HTML dynamique

Contenu de ce fait pour structurer une page Php il faut utiliser du HTML donc......je suppose que tu dois faire:

print '<a href="image.jpg">Voir image</a> ';
Megaman - 23 oct. 2004 à 01:12
Non, c'est :
{print("<a href=\"image.jpg\">Voir image</a>");}
Ohm-WorK- 14 févr. 2006 à 13:50
Salut

La solution de SomeOne est tout a fait valable...

Celle ci fonctionne également :
echo '<a href="image.jpg">image</a>';

Tchuss
Geoffroy - 31 déc. 2008 à 08:10
Argh!!!!!!!!!!!!!!!!!
Au secours!!!!!!!!!!!!!!!


Le php c'est TOUS SAUF DU HTML DYNAMIQUE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Ajouter un commentaire
Réponse
+1
moins plus
Pourquoi tu t'embêtes à le faire en PHP alors que le HTML le permet...
echo "<a href='ladresse.html'><img src='tonimage.jpg' /></a>";
Ajouter un commentaire
Réponse
+1
moins plus
Pour la simple et bonne raison que si tu veux afficher une image sur ton site web,
et que tu ne veux pas que les gens puissent voir l'url du fichier d'où provient tes image
il faut bien ruser avec php non ? ca pourait peut etre fonctionner avec un .htaccess...

Enfin j'en sais rien... Quelqu'un sait comment faire pour éviter qu'une personne tape
par exemple :

"www.**********.com\IMAGES\"

dans son navigateur et puisse accéder a ce dossier ?
le but de la manipulation serait soit de lui restreindre l'accès, soit qu'il ne puisse pas voir
l'url en regardant les propriétés de l'image...

Cordialement.
bob qui débute - 23 janv. 2010 à 22:27
Peut etre en mettant un index.html vierge dans le répertoire.
Senpai - 17 nov. 2011 à 10:19
en mettant un .htaccess à la racine de ton site pour éviter son exploration avec ce code :

<Files .htaccess>
order allow,deny
deny from all
</Files>

Attention, on ne pourra renommer le fichier en ".htaccess" que côté serveur, windows refusant tout naturellement ce type d'appelation de fichier. Il faudrait le faire sur Filezilla par exemple.
Ajouter un commentaire
Réponse
+1
moins plus
merci de t'être interessé à mon cas, j'ai fini par faire autrement en prenant un bout de code correspondant plus à ce que j'attendais.

c'est vrai qu'en regardant, le false !== ($file = readdir($dossier)) était un peu absurde !

@ bientôt !
Ajouter un commentaire
Réponse
+0
moins plus
Salut moi en php je fais comme ça :

echo"<a href=\"ma_page_cile\"><img src=\"mon_dossier/monimage\">\"</a>";
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
J'ai un dossier avec mes photos, je veux dans mon index lui mettre une boucle pour qu'il affiche 1 à 1 les photos.
Je suis novice en php, j'ai trouvé ce bout de code que j'ai adapté :

<?php
// creation de la liste des images
// tu ouvre le dossier qui contient les images
$dossier = opendir('imagesreduites');
//tu fais une boucle qui lit les nom de fichier 1 a 1
$i = 0;
while (false !== ($file = readdir($dossier)))
{
//tu verifies si le nom du fichier te convient
if($file != "."&&$file != ".."&&$file != "index.php" )
{
//tu mets ton script pour manier les images
echo '<img src=/"' $dossier '/' $file '"><br />';
}
}
?>
j'ai manifestement un problème avec la dernière ligne (echo), la page me met un message d'erreur sur cette ligne.

Pouvez-vous m'aider svp ?
Ajouter un commentaire
Ce document intitulé « Comment afficher une image avec lien en PHP » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?