如何在HTML中显示输出的文件?如果脚本是这样的
function function_image($url) {
$file = file_get_contents($url);
$type = 'image/jpeg';
header('Content-Type:'.$type);
header('Content-Length: ' . filesize($file));
readfile($file);
}
如何在html中显示它?我需要将其放在 src 属性中吗?或者只是回应它?
<img src="<?php echo function_image('http://otherwebsite.com/image.jpeg'); ?>" />
or
<?php echo function_image('http://otherwebsite.com/image.jpeg'); ?>
答案 0 :(得分:1)
您用于输出图像的代码将是它自己的页面,而不仅仅是您调用的函数。例如,我们称之为 image.php :
<?php
$file = '../image.jpg';
$type = 'image/jpeg';
header('Content-Type:'.$type);
header('Content-Length: ' . filesize($file));
readfile($file);
?>
然后在你的HTML中你会引用image.php
,好像它是一个图像,因为它正是它输出的内容:
<img src="image.php" />
HTTP并不关心“文件类型”之类的东西,只有标题和数据。 image.php 会返回图片标题(Content-Type:image/jpeg
)和图片数据,因此就浏览器而言,它是图片“文件”。
答案 1 :(得分:-1)
如果您试图隐藏图片来源,那将不会发生,即使Instagram无法在instagram.com中隐藏它。如果用户要查看图像,表示图像已下载到用户计算机,但如果您愿意,可以使用base64编码。
以下是一个例子:
<?php
$path = 'myfolder/myimage.png';
$type = pathinfo($path, PATHINFO_EXTENSION);
$data = file_get_contents($path);
$base64 = 'data:image/' . $type . ';base64,' . base64_encode($data);
echo '<img src="' . $base64 . '" />';
?>