php如何将图片转成字节流

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php如何将图片转成字节流相关的知识,希望对你有一定的参考价值。

php中,有文件上传,那么php服务器端可以接收到请求参数 $_FILES,在 $_FILES数组中读取到上传文件的form表单名,然后在读取的数组中可以获取上传文件的源文件,使用 fopen()函数就可以获取文件的字节流了。
具体来点代码看看吧:(假定上传文件的表单名为 “formname”)
if($_FILES && isset($_FILES["formname"]))
//获取上传的文件的属性数组
$_fileinfo = $_FILES["formname"];
//获取上传文件的原文件名
$_filename = $_fileinfo["name"];
//获取上传文件的大小
$_filesize = $_fileinfo["size"];
//获取上传文件的临时文件名(长文件名)
$_filesource = $_fileinfo["tmp_name"];
//以读写方式打开文件,并将资源绑定到一个流上
$_filestream = fopen($_filesource,"ab");
//实现上传文件,其实质是把临时文件移动到制定的保存文件的位置
$_newfilename = "../mypath/filename.exp"; //自定义文件名,包含路径,可以是相对路径
move_uploaded_file($_filesource, $_newfilename);
参考技术A 打开图片,返回的就是字节流了

php 将图片转成base64

/**
 * 获取图片的Base64编码(不支持url)
 * @param $img_file 传入本地图片地址
 * @return string
 */
function imgToBase64($img_file) {

    $img_base64 = ‘‘;
    if (file_exists($img_file)) {
        $app_img_file = $img_file; // 图片路径
        $img_info = getimagesize($app_img_file); // 取得图片的大小,类型等

        //echo ‘<pre>‘ . print_r($img_info, true) . ‘</pre><br>‘;
        $fp = fopen($app_img_file, "r"); // 图片是否可读权限

        if ($fp) {
            $filesize = filesize($app_img_file);
            $content = fread($fp, $filesize);
            $file_content = chunk_split(base64_encode($content)); // base64编码
            switch ($img_info[2]) {           //判读图片类型
                case 1: $img_type = "gif";
                    break;
                case 2: $img_type = "jpg";
                    break;
                case 3: $img_type = "png";
                    break;
            }

            $img_base64 = ‘data:image/‘ . $img_type . ‘;base64,‘ . $file_content;//合成图片的base64编码

        }
        fclose($fp);
    }

    return $img_base64; //返回图片的base64
}


//调用使用的方法
$img_dir = dirname(__FILE__) . ‘/uploads/img/11213223.jpg‘;
$img_base64 = imgToBase64($img_dir);
echo ‘<img src="‘ . $img_base64 . ‘">‘;       //图片形式展示
echo ‘<hr>‘;
echo $img_base64;           //输出Base64编码

  

以上是关于php如何将图片转成字节流的主要内容,如果未能解决你的问题,请参考以下文章

sparkdataframe转换成字节流

图片与文件流互转

php中图片以字节流的形式直接发送七牛

python3 利用struct.pack 动态组建字节流

字节流和字符流

转换流——OutputStreamWriter类与InputStreamReader类