Quiero hacer una galeria en php y estoy haciendo una pagina donde puedes seleccionar un archivo zip con imagenes dentro para subirlo al servidor y una vez alli se descomprima y me muestre las imagenes. En principio el script me descomprime el archivo zip, pero las imagenes no me las muestra, me sale una especie de codigo binario. Alguien sabe como solucionarlo?
Os dejo aqui el script:
Cdigo PHP:
<?php
function ShowImage($buf){
header('Content-Type: image/jpeg');
header('Content-Disposition: inline; filename=file.jpg');
$src_img = imagecreatefromstring($buf);
imagejpeg($src_img);
imagedestroy($src_img);
}
$nombre_temporal = $HTTP_POST_FILES['userfile']['tmp_name'];
$nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
if (strpos($nombre_archivo, ".zip") ){
copy($nombre_temporal, $nombre_archivo) or die("ERROR!!!");
$zip = zip_open("htdocs/".$nombre_archivo);
if ($zip) {
while ($zip_entry = zip_read($zip)) {
if (zip_entry_open($zip, $zip_entry, "r")) {
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
ShowImage($buf);
zip_entry_close($zip_entry);
zip_close($zip);
exit();
}
}
zip_close($zip);
}
unlink($nombre_archivo);
}
?>