readfile等价于二进制数据?

时间:2011-10-19 00:33:13

标签: php amazon-s3

我使用http://undesigned.org.za/2007/10/22/amazon-s3-php-class/documentation使用php访问私人文件。我可以通过说$ object-> body来获取文件的数据。我实际上想在浏览器中看到图像或在视频播放器中播放视频。有没有办法做到这一点?

我想我需要像readfile这样的东西。问题是readfile是我需要文件的路径。路径是私有的,所以我不能使用它。有没有办法对二进制数据进行读取文件?

我把它放在php中认为这会有所帮助,但它仍会显示二进制数据。

header('Content: image/jpeg');
header('Content-Disposition: inline; filename=IMAG0108.jpg');
echo $object->body;

2 个答案:

答案 0 :(得分:1)

您只需设置content-type标头并将readfile输出到浏览器。我所做的是创建一个新的php文件,比如“showimage.php”,它接受一个I​​D或其他一些知道要显示的图像。然后我在浏览器页面中使用它:。

在showimage.php中,类似于:

<?php 
    header('Content-type: image/png');
    readfile('/var/images/' . $_GET['id'] . '.png');
    // or
    // echo $object->body;
?>

这将从本地系统读取文件并将其作为图像输出。在我的头顶,所以我可能搞砸了那段代码!

答案 1 :(得分:0)

header('Content: image/jpeg');
echo $object->body;

如果工作正常(对于JPEG),您需要知道有问题的文件类型,然后发送适当的内容标题。