2014-06-25 61 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'); 
相关问题