php zip распаковка архивов
После того как закончил писать установщик для 8cms, появилась необходимость в автоматической распаковке zip архива средствами php.Яндекс не дал никаких внятных результатов по готовой функции, аля "простой unzip". Написал свою, встречайте.
Первый параметр - строка на zip файл. Второй параметр - папку в которую распаковывать. Если папки нет, метод сам ее создает. Всем распакованным файлам он применяет права доступа 0775.
php zip unpacker | |
1 |
function unzip($file,$dir='unzip/'){ if(!file_exists($dir)){ mkdir($dir,0777); } $zip_handle = zip_open($file); if (is_resource($zip_handle)) { while($zip_entry = zip_read($zip_handle)){ if ($zip_entry) { $zip_name=zip_entry_name($zip_entry); $zip_size=zip_entry_filesize($zip_entry); if(($zip_size==0)&&($zip_name[strlen($zip_name)-1]=='/')){ mkdir($dir.$zip_name,0775); } else{ @zip_entry_open($zip_handle, $zip_entry, 'r'); $fp=@fopen($dir.$zip_name,'wb+'); @fwrite($fp,zip_entry_read($zip_entry, $zip_size),$zip_size); @fclose($fp); @chmod($dir.$zip_name,0775); @zip_entry_close($zip_entry); } } } return true; } else{ zip_close($zip_handle); return false; } } |
Часто приходится вручную писать свое решение. Успехов в программировании на php.
Дата записи: 20.05.2010 15:37
Предыдущая тема: Chrome Notelist