Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP base64转换为jpg文件太大_Php_Base64_Crop - Fatal编程技术网

PHP base64转换为jpg文件太大

PHP base64转换为jpg文件太大,php,base64,crop,Php,Base64,Crop,我打开一个70kb的文件: $img='数据:image/jpg;base64,'.base64_编码(文件获取内容($img)) 如果我通过下面的代码保存此代码,图像将以1.5mb大小保存 $file = fopen('new.jpg', "wb"); $data = explode(',', $img); fwrite($file, base64_decode($data[1])); fclose($file); 如何修复它?为什么要编码和解码?base64_encode()可能会将文件大

我打开一个70kb的文件:

$img='数据:image/jpg;base64,'.base64_编码(文件获取内容($img))

如果我通过下面的代码保存此代码,图像将以1.5mb大小保存

$file = fopen('new.jpg', "wb");
$data = explode(',', $img);
fwrite($file, base64_decode($data[1]));
fclose($file);

如何修复它?

为什么要编码和解码?base64_encode()可能会将文件大小增加33%。为什么不直接写入二进制数据呢?除此之外,正如前面提到的,这似乎没有多大意义-您是否检查了结果文件实际包含的内容?可以在图像编辑器中将其作为图像打开吗?如果没有,当你用文本或十六进制编辑器打开它时,你会看到什么?为什么要编码和解码?base64_encode()可能会将文件大小增加33%。为什么不直接写入二进制数据呢?除此之外,正如前面提到的,这似乎没有多大意义-您是否检查了结果文件实际包含的内容?可以在图像编辑器中将其作为图像打开吗?如果没有,当您使用文本或十六进制编辑器打开它时会看到什么?