PHP 使用 header 下载图片

PHP download image using header

我对 php 和一般的网络编码真的很陌生。我正在尝试通过 php 提供图片供下载。我需要什么额外的代码才能做到这一点?我试过用谷歌搜索并在这里搜索,虽然我知道这个问题之前已经被问过和回答过,但阅读答案让我缺乏经验的人头晕目眩。如果有人能帮助我或指出正确的方向,将不胜感激!

public function ExportUserImage()
    {
        $image = $this->user->image;

        header("Content-type: image/jpeg");  
        header("Cache-Control: no-store, no-cache");  
        header('Content-Disposition: attachment; filename="avatar.jpg"');
        $outstream = fopen($image,'w'); // Not sure if this is right 
        //>>don't know what I need here<<
        fclose($outstream);

    }

您只是错过了实际分发图像流,应该下载它。

您可以简单地回显 $image,无需为其打开文件流,因为您设置了正确的 headers。

public function ExportUserImage()
    {
        $image = $this->user->image;

        header("Content-type: image/jpeg");  
        header("Cache-Control: no-store, no-cache");  
        header('Content-Disposition: attachment; filename="avatar.jpg"');
        echo $image;

    }