php将文件转换成二进制输出[转]

header( "Content-type: image/jpeg");
$PSize = filesize('1.jpg');
$picturedata = fread(fopen('1.jpg', "r"), $PSize);
echo $picturedata;

就这么几句话,就将图片以二进制流的形式输出到客户端了,和打开一张图片没有任何区别,需要注意的是,发送的header要根据具体情况而定,不一定都是image/jpeg。JPG的是它,但PNG的就是image/png.不同的图片输出不同的头部。

用途:
OSS默认支持上传文件流,但input表单默认是返回一个文件:

 /**
    * 支持文件类型上传到OSS
    */
    public static  function uploadFile($filename, $ext = 'jpg', $type = Enum_OSS_File_Type::IMG) {
        $content = static::file2content($filename);
        return static::upload($content, $ext, $type);
    }
    
    public static  function file2content($filename) {
        return fread(fopen($filename, 'r'), filesize($filename));
    }

php将文件转换成二进制输出 - cychai的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/spring21st/article/details/42077439