================Een leuke naam.php 

[code]<?
//met de _GET variabel "f" verstuur je de file
//met de _GET variabel "z" verstuur je de naam van het zipje
$errorplaat='error.PNG'; //een error in een plaatje als de naam fout is
$errortekst='error, foute filenaam'; //een error als tekst als de naam fout is
$errorext='Je hebt een verkeerde filenaam en extensie opgegeven'; //een error als tekst als de extensie in de naam fout is

//waar bevind de zip zich? de rest spreekt denk ik wel voor zich
$filewaar=getcwd().DIRECTORY_SEPARATOR.$_GET['z'].'.zip';
if($zip = @zip_open($filewaar))
{
	while ($ziplees = zip_read($zip))
	{
		if (zip_entry_name($ziplees)==$_GET['f'])
		{
			if (zip_entry_open($zip, $ziplees, "r"))
			{
				$inhoud = zip_entry_read($ziplees, zip_entry_filesize($ziplees));
				$naam=zip_entry_name($ziplees);
			}
		}
	}
}

if (!isset($naam))
	$naam=$_GET['f'];

$naam = explode(".", $naam);
switch ($naam[1]) 
{
	case "jpeg": 	header ("Content-type: image/jpeg");	echo$inhoud;	$type=1;	break;
	case "gif": 	header ("Content-type: image/gif"); 	echo$inhoud;	$type=1;	break;
	case "jpg": 	header ("Content-type: image/jpeg"); 	echo$inhoud;	$type=1;	break;
	case "jpe": 	header ("Content-type: image/jpeg"); 	echo$inhoud;	$type=1;	break;
	case "bmp": 	header ("Content-type: image/bmp"); 	echo$inhoud;	$type=1;	break;
	case "png": 	header ("Content-type: image/png"); 	echo$inhoud;	$type=1;	break;
	case "tif": 	header ("Content-type: image/tiff"); 	echo$inhoud;	$type=1;	break;
	case "tiff": 	header ("Content-type: image/tiff"); 	echo$inhoud;	$type=1;	break;
	case "php": 	eval("?>".$inhoud."<?");								$type=2;	break;
	default;		$inhoud="";
}
if (!isset($inhoud))
{
	if ($type==1):
		header ("Content-type: image/png");
		ImagePng(imagecreatefrompng($errorplaat));
	elseif ($type==2):
		echo$errortekst;
	else:
		echo$errorext;
	endif;
}
?>[/code]