如何在网址上返回没有文件名或扩展名的图片

时间:2014-10-20 08:35:52

标签: php image url-routing

所以有这个网页,这个人设法从服务器返回原始图像 只需输入id作为参数。

http://photos.iitm.ac.in/byid.php?id=008576

即使您右键单击图像并在新选项卡中打开,也只会打开php。 有谁知道他是如何做到这一点的? 我需要这种用于个人资料照片的功能

3 个答案:

答案 0 :(得分:0)

非常简单。您只需使用正确的Content-type发送数据。因此,如果您想显示一个gif-image,请使用:

Header("Content-Type: image/gif");

然后发送图像数据。

答案 1 :(得分:0)

你可以这样做:

假设示例网址为:

http://www.example.com/getImage.php?id=20

因此,在getImage.php页面上从数据库获取用户图像信息并提供图像源:

代码应该是这样的:

    $userImageName="testImage.gif";         //FROM DATABASE FOR id=20, Just for example
    ob_clean();                            //CLEAN THE OUTPUT BUFFER
    header("Content-Type: image/gif");     //SET PAGE HEADER FOR IMAGE
    echo file_get_contents('imageDirectory/'.$userImageName);
    die;

答案 2 :(得分:0)

虽然这不是问题的直接答案,但由于已经有其他人回答,我认为值得一提。

您还可以控制尝试保存图片时显示的文件名!为此,请使用以下标题:

header('Content-Disposition', 'inline;filename=my_image_title.jpg');

以便您的脚本如下所示:

header('Content-Disposition: inline;filename=my_image_title.jpg');
header('Content-Type: image/jpeg');
readfile($pathToImage);
//or echo $imageContent

请确保在第一次拨打header()之前没有意外输出任何内容,否则您可能会收到“已发送标头”错误。