如何根据其ID回显另一页中的图像?

时间:2015-07-31 07:31:59

标签: php html

如何让我的图片ID在另一页中回显?

页面组合:

[image one]

[image two]

[image one]的id为image1。单击image1时,它将指向新页面以更大的尺寸显示。

到目前为止,这是我的代码。

页面投资组合

<a href="view.php?id=image1"><img src="image1.jpg"/></a>
<a href="view.php?id=image2"><img src="image2.jpg"/></a>

view.php

<?php $id=$_GET['id']; ?>

<?php if($id == 'image1'){
    echo '<img src="orange.jpg"/>';} ?>

<?php if($id == 'image2'){
    echo '<img src="milk.jpg"/>';} ?>

如果我将这段代码用于几张照片是可以接受的,但我会将它用于很多照片。有任何建议或提示吗?是否有可能根据图像的id回显? 任何帮助表示赞赏。谢谢你的时间。

我真的很抱歉,我忘了提到我没有从数据库中获取图像。请看一下我上面编辑过的 view.php 。我不确定我是否足够清楚地解释自己。

5 个答案:

答案 0 :(得分:2)

试试这个

<?php $id=$_GET['id']; 
 echo '<img src="'.$id.'.jpg"/>';

?>

答案 1 :(得分:1)

你可以在php中回显img src = ...因为你已经在原始HTML中做了这个作为源,你需要打印图片。

 //phpFile.php
 <?php echo "<img src..">; 

将被解析为HTML文档,因此在html中

源代码将是一个html文档而不是图像。

您需要将img替换为iframe或

在php中使用它

$file = $_GET['id']; //or full path to file
$type = 'image/jpeg';
header('Content-Type:'.$type);
header('Content-Length: ' . filesize($file));
readfile($file);

答案 2 :(得分:1)

您可以将GET值用作src属性的一部分,如下所示:

<?php
echo '<img src="' . $_GET['id'] . '".jpg" />';
?>

但请注意,这要求每张图片都具有相同的jpeg扩展名。

答案 3 :(得分:1)

虽然它可能有点矫枉过正,而另一个答案有更直接的方法,我想我也会给你这个选项。 (这当然适用于您的view.php文件:))

<?php
$id = $_GET['id'];
$validImages = array
(
    'image1.jpg',
    'image2.jpg',
    'image3.jpg'
);

if(in_array($id,$validImages)){
    <-- DISPLAY IMAGE HERE -->
}else{
    die('Invalid image');
}

如果你想要带有标题的@Daniel Krom版本();部分只是将它放在if(){}子句而不是echo内部的简单问题:)

答案 4 :(得分:0)

感谢您的所有建议!我设法使用以下代码使其工作。 :) - Nurul

页面投资组合

<a href="view.php?id=image1"><img src="image1.jpg" id="image1"/></a>
<a href="view.php?id=image2"><img src="image2.jpg" id="image2"/></a>

<强> view.php

<?php $id=$_GET['id']; ?>
<img src="<?php echo $id; ?>.jpg"/>

(当且仅当所有图像的扩展名与FDekker所说的相同时。)