2014-06-25 59 views
-4

如何將包含圖像文件的zip文件夾中的byte array轉換爲php中的zip folder?我無法找到解決辦法,所以請幫助我..如何在PHP中將字節數組轉換爲文件?

這是我byte array和我的代碼..

$photoObject ="504b 0304 1400 0000 0000 818a d944 0000 
0000 0000 0000 0000 0000 0b00 0000 4e65 
7720 666f 6c64 6572 2f50 4b03 0414 0000 
0008 006b 9085 44c9 0419 fceb 5001 008c 
6c01 002b 0000 004e 6577 2066 6f6c 6465 
722f 7363 7265 656e 7368 6f74 202d 2074 
7265 6174 6d65 6e74 6f70 7469 6f6e 2e50 
4e47 945a 6750 935d 168e 652d 6b41 41e9 
45a5 8934 41e9 1054 a423 7c80 80d4 2845"; 

$hex   = preg_replace('/[\s\W]+/','',$photoObject); 
$binary  = pack("H*", $hex); 
$photoObject = base64_decode($binary); 
$im   = imagecreatefromstring($binary); 

$photoName = preg_replace('/\s+/', '_' , "zipname"); 

if ($im !== false) { 
    $filedb = '../zipper/'.time().$photoName; 
    imagepng($im, $filedb); 
    imagedestroy($im); 
    return $filedb; 
} 
else { 
    return "error"; 
} 
+0

你是指哪種文件?圖像,... –

+0

@ yaa110,zip文件.. – next2u

+0

你能舉一個例子說明'bytearray'的外觀嗎? – Rangad

回答

0

如果字符串是歸檔的有效表示,PHP已經轉換的手段它回到一個普通的文件/二進制字符串。

<?php 

$bString = hex2bin($hex); 

file_put_contents('new_zip_path', $bString); 

$zip = new ZipArchive; 
$zip->open('new_zip_path', ...); 

$image = $zip->getFromName('my.jpg'); 
相關問題