ik krijg het maar niet voor elkaar, ik heb dus een fotoalbumsysteem
nu wil ik dat ik via een .zip bestand uplaoden dat hij de zip uitleest en kijkt als er jpg instaatn, zo ja, moet hij die jpg's uitpakken en in een gfx/photos/{album}/ zetten...
kan iemand mij hier mss mee helpen ?, ik heb die tutorial van zip doorgelezen maar ik krijg dit niet voor elkaar
Ik denk dat het volgende script best handig is voor jou.
Het script is namelijk gemaakt om zips uit te pakken op een server.
Is een goed voorbeeld. http://www.site...amp;id=817
En bij het volgende script staat er daar ook een stukje over.
Het begint op regel 269. http://www.site...amp;id=974
<?php
//de toegestane extensies
$image_extensions = array('jpg','jpeg','bmp','gif','png');
//kijken of het formulier is ingevuld
if($_SERVER['REQUEST_METHOD'] == 'POST') {
//de map waar alles moet worden opgeslagen
$map = 'gfx/photos/'.$_POST['album'].'/';
//het zip-bestand uit de tmp map halen
if(move_uploaded_file($_FILES['zip']['tmp_name'],$map.$_FILES['zip']['name'])) {
//kijken of je überhaupt wel zip-ondersteuning hebt
if(function_exists('zip_open')) {
//het zip-bestand openen
if($zip = zip_open($map.$_FILES['zip']['name'])) {
//de map waar je in wilt werken even veranderen
chdir($map);
//alle bestanden in de zip langsgaan
while($zip_entry = zip_read($zip)) {
//kijken of je het bestand kunt openen
if(zip_entry_open($zip,$zip_entry,'r')) {
//de data uit het bestand lezen
$entry_data = zip_entry_read($zip_entry,zip_entry_filesize($zip_entry));
$name = zip_entry_name($zip_entry);
$extension = substr($name,strrpos($name,'.')+1);
//kijken of de extensie toegestaan is
if(in_array($extension,$image_extensions)) {
//kijken of het bestand misschien al bestaat.
if(file_exists($name)) {
//foutmelding geven
echo 'Het bestand \''.$name.'\' bestaat al.';
} else {
//het bestand wegschrijven
$fopen = fopen($name,'w');
fwrite($fopen,$entry_data);
fclose($fopen);
}
}
}
}
} else {
echo 'Kon het zip-bestand niet openen';
}
} else {
echo 'Je hebt geen zip-ondersteuning';
}
//het zip-bestand verwijderen
unlink($map.$_FILES['zip']['name']);
} else {
echo 'Het zip-bestand kon niet worden geupload';
}
} else {
//formulier laten zien:
?>
<form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data">
Album: <input type="text" name="album"><br />
Zip-bestand: <input type="file" name="zip">
</form>
<?php
}
?>