PHP将文件转二进制的方法:首先设置“header "Content-type: image/jpeg");”;然后通过fopen和fread函数打开并读取文件;最后将图片文件以二进制流的形式输出到客户端即可。
推荐:《PHP教程》
php将文件转换成二进制输出
header "Content-type: image/jpeg"); $PSize = filesize'1.jpg'); $picturedata = freadfopen'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 freadfopen$filename, 'r'), filesize$filename)); }