PHP expert |
|
Het uitpakken van een zipfile gaat goed als er nog niets in een map staat, ga ik een zip uitpakken waar al een foto in de map staat, dan zet hij de foto die er al instond nog een keer in. Dus dan is het dubbel
(Ik heb het hier over een zip automatisch uitpakken op de server )
Dus kan iemand kijken wat er mis is met mijn class?
<?php
class zip extends upload {
public function __construct($file, $dir, $category = '') {
if(!empty($category)) {
$this->directory = $dir .'/'. categoryName($category);
} else {
$this->directory = $dir;
}
$zip = zip_open($_FILES[$file]['tmp_name']);
while($zipEntry = zip_read($zip)) {
$entry = zip_entry_open($zip, $zipEntry);
$fileName = str_replace(' ', '_', zip_entry_name($zipEntry));
$targetDir = $this->directory .'/'. substr($fileName, 0, strrpos($fileName ,'/'));
$filesize = zip_entry_filesize($zipEntry);
if (is_dir($targetDir) || mkdir($targetDir)) {
if ($filesize > 0) {
$contents = zip_entry_read($zipEntry, $filesize);
file_put_contents($this->directory .'/'. $fileName, $contents);
}
}
}
}
}
?>
<?php class zip extends upload { public function __construct($file, $dir, $category = '') { $this->directory = $dir .'/'. categoryName($category); } else { $this->directory = $dir; } $zip = zip_open($_FILES[$file]['tmp_name']); while($zipEntry = zip_read($zip)) { $entry = zip_entry_open($zip, $zipEntry); $fileName = str_replace(' ', '_', zip_entry_name ($zipEntry)); $targetDir = $this->directory .'/'. substr($fileName, 0, strrpos($fileName ,'/')); $filesize = zip_entry_filesize($zipEntry); if ($filesize > 0) { $contents = zip_entry_read($zipEntry, $filesize); file_put_contents($this->directory .'/'. $fileName, $contents); } } } } } ?>
Dit hele verhaal werkt, maar ik denk dat het probleem ligt bij die file_put_contents ofzo..
Niemand?
|