L'affichage d'une image à l'aide d'une variable php
Je suis en train d'afficher des images en prenant leur chemin d'accès au fichier à partir d'une table sql, mais je vais avoir beaucoup de problèmes.
Voici ce qui se passe:
$image
est une variable contenant le texte "itemimg/hyuna.png"
qui est le chemin vers une image.
$image = 'itemimg/hyuna.png';
Je suppose que je serais capable d'afficher l'image à l'extérieur du bloc php comme ceci:
<img src= "<? $image ?>" alt="test"/>
Cela ne fonctionne pas si pour une raison quelconque.
Alors j'ai pensé que peut-être il n'est pas capable de lire la variable en dehors du bloc php(je suis débutant), donc pour les tests que j'ai fait:
<h1> "<? $image ?>" </h1>
Il affiche itemimg/hyuna.png
comme un h1 bannière.
Sens, il accède à la varible amende.
Alors j'ai pensé que peut-être que le chemin est mauvais. J'ai donc essayé:
<img src= "itemimg/hyuna.png" alt="test"/>
Cette affiche l'image à la perfection.
Alors maintenant, je suis coincé à me gratter la tête pourquoi le premier bout de code n'affiche rien, mais le texte "test"
de "alt="
Question supplémentaire:
Comment dois-je aller sur l'affectation d'une valeur à partir d'un sql cellule à une variable?
J'ai essayé les suivantes avec pas de chance:
$q = "select * from item where id=$id";
$results = mysql_query($q);
$row = mysql_fetch_array($results, MYSQL_ASSOC);
$image = ".$row['image'].";
item
d'une table avec une collumn: image
qui contient les chemins d'accès aux images
<?=
."Si vous êtes heureux et vous le savez erreur de syntaxe" echo balise courte est
<?=
, pas <?
. Ceux-ci doivent être activés, trop, et même si elles le sont, vous ne devriez pas les utiliser, car ils entrent en conflit avec la balise xml (<?xml
), et de rendre votre code moins portable. parce que vous n'utilisez pas le bon tag, php va se plaignent également de l'absence de point-virgule. Et même si vous le corriger: $someVar;
déclaration est valable que ne fait rien.Oh mon dieu. Donc en gros, j'ai juste eu à ajouter '=' pour résoudre mon problème? Merci à vous deux très beaucoup pour votre aide!
OriginalL'auteur user1783150 | 2013-10-24
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, vous ne devriez pas utiliser PHP Shorttags.
Lorsque vous utilisez PHP Shorttags que vous avez à dire:
Mais je les encourage à s'échapper le Contenu de la variable comme ceci:
Votre question supplémentaire:
Ce qui devrait conduire à une erreur de syntaxe car la chaîne n'a pas pu être analysé, il suffit d'utiliser
$image = $row['image'];
<?=
. C'est toujours activé.htmlspecialchars
est un bon point, même si un peu beaucoup... je vous suggère de le faire justestr_replace('"','',$image)
.Fonctionne parfaitement. Quel serait l'avantage de l'utilisation de la seconde au cours de la première?
Si vous avez par exemple un guillemet double (") dans votre chaîne et vous venez de echo le contenu de la variable la double quoute la ruine de l'attribut html tag (non fermé) et invalider le code html.
OriginalL'auteur andreashager
Essayer cette
<img src= "<?php echo $image ?>" alt="test"/>
OriginalL'auteur Shankar Damodaran
essayer
ou
OriginalL'auteur Taytay
essayer cette
OriginalL'auteur prakash