2017-08-01 78 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