2017-08-01 74 views
0
$name = $_FILES['img']['name']; 
$size = $_FILES['img']['size']; //need to compress file size 
$type = $_FILES['img']['type']; 
$ext = strtolower(pathinfo($_FILES['img']['name'], PATHINFO_EXTENSION)); 
$temp_name = $_FILES['img']['tmp_name']; 

$data = file_get_contents($temp_name); 
$img = 'data:image/'.$ext.';base64,'.base64_encode($data); //send this to api 

我不得不从tmp文件压缩大小和发送的base64编码到API需要上传的图像(压缩,我需要检查的文件大小后,再次确保它比1MB小)PHP图片上传压缩临时文件大小

任何人都知道如何在php中压缩tmp文件?

回答

0

试试这个:

$img = gzcompress('data:image/'.$ext.';base64,'.base64_encode($data)); //send this to api 

然后,你就必须做`gzuncompress()的另一边。

+0

如何检查gzcompress后的文件大小 –

+0

另一个问题是api方面不会解压缩,我试图实现的是使原始图像质量和尺寸更小 –

+0

那么,base64编码实际上增加了约33%的原始文件大小。 – Difster