Ноя 01
Случается, что нужно распаковать залитый на веб-сервер по FTP архив, если делать это с десктопа, то процедура получается аналогичной заливке распакованных файлов. Чтобы решить эту проблему дарю вам этот PHP скрипт. Для его работы на сервере должен стоять unzip, и разрешено использование встроенной функции exec (скрипт это всё проверит).
Чтобы воспользоваться им, размещаем скрипт, например с именем unzip.php, в той же директории где расположен архив или даже несколько архивов
<?php if(!function_exists('exec')) die('exec function is not available on this server'); if(!$unzip_command = exec('/usr/bin/which unzip')) die(); if(!$dir_handle = opendir(getcwd())) die ('Can\'t open dir'); while(false != ($files = readdir($dir_handle))){ if($files != '.' && $files != '..'){ if(preg_match('/.\.zip/',$files)){ exec("$unzip_command $files",$output); echo '<b>Unzipping ',$files,' </b><br>'; foreach($output as $unzipped_files) echo "$unzipped_files",'<span style="color: green"> done!</span><br>'; } } } ?>
Февраль 28th, 2010 at 18:18
Добрый день!
Подскажите плиз, как данный скрипт исполнять из корня сайта при условии, что архив будет в другой папке?
Февраль 28th, 2010 at 21:20
можно где-то в начале (главное перед вызовом opendir) добавить
chdir(‘/path/to/dir’);
Ноябрь 26th, 2010 at 14:34
Спасибо автору за этот прекрасный скрипт. распаковал джумлу за 1 секунду. я день назад по фтп ее лил около 40 минут. очень удобно.
Декабрь 23rd, 2010 at 22:09
ништяк работает спасибо автору, работает там где не пашет php unzipper