logo

ZIP Archive Extractor and Creator

Arsip IlmuWebsite
Sabtu, 30 Mei 2009 � 03.29 WIB 4 menit baca 1x dibaca
Zip ExtractorMembahas beberapa artikel di beberapa forum dan setelah menerima beberapa email tentang cara mengextract dan membuat file ZIP menggunakan PHP, penulis berkeinginan untuk membagi file projek ini. Berikut ini adalah script php yg gw pake. Script PHP ini dapat mengextract dan membuat file ZIP sndiri. Gw bikinin dalam format Form yak ! Image Image Image pertama dalam PHP kita butuh file lib untuk mengeksekusi proses ZIP ini. File Lib ini adalah PclZIP.php Lu bisa download disini: http://www.phpconcept.net/pclzip/index.en.php Untuk informasi PclZIP ini digunakan oleh developper Mambo pada Mambro Open Source CMS. Wuoke, kita mulai, dengan beberapa fungsi bwatan dibwah ini:
Code:
define ("_ABSOLUTE_MENU", "Select Menu ? [ <a href='?".rand()."'>HOME</a> | <a href='?menu=extractor'>ZIP EXTRACTOR</a> | <a href='?menu=creator'>ZIP CREATOR</a> ]"); define ("_CREDIT", "<p>[ <a href='http://www.dremi.info' target='_blank'>by dr.emi</a> ]</p>"); define ("_MAIN_DIR", "./");function redirect($delay,$goto) { ? ?echo"<p>Redirect progress..<br>Please Stand By.. <meta http-equiv=refresh content=$delay;URL=$goto /></p>"; } function clearIt($it, $defaultChar = '_') { ? ?$it = str_replace("'", "$defaultChar", $it);? ? ? ?$it = str_replace(" - ", "$defaultChar", $it); ? ?$it = str_replace("? ", "$defaultChar", $it); ? ?$it = str_replace('"', "$defaultChar", $it); ? ?$it = str_replace("|", "$defaultChar", $it); ? ?$it = str_replace("\'", "$defaultChar", $it); ? ?$it = str_replace("\"", "$defaultChar", $it); ? ?$it = str_replace("\\", "$defaultChar", $it); ? ?$it = str_replace("/", "$defaultChar", $it); ? ?$it = str_replace("-", "$defaultChar", $it); ? ?$it = str_replace("%20", "$defaultChar", $it); ? ?$it = str_replace(" ", "$defaultChar", $it); ? ?$it = str_replace("(", "$defaultChar", $it); ? ?$it = str_replace(")", "$defaultChar", $it); ? ?$it = str_replace("..", "$defaultChar", $it); ? ? ? ? ? ?return $it; } function formZIP($pointMe) { ? ?echo _ABSOLUTE_MENU; ? ?if($pointMe == 'extract') ? ?{ ? ?? ??> ? ?? ?<h2>ZIP Archive Extractor</h2> ? ?? ?<form action="" method="post" enctype="multipart/form-data"> ? ?? ?<input type="hidden" name="action" value="extractMe"> ? ?? ?Source FileName (filetype *.zip):<br /> ? ?? ?<input name="sourcename[]" type="file" size="35" /> ? ?? ?<br /><br /> ? ?? ?Output Directory:<br /> ? ?? ?<input name="result" type="text" size="35" value="<? echo _MAIN_DIR; ?>" /> ? ?? ?<br /><br /> ? ?? ?<input name="submit" type="submit" value="? Extract ZIP" /> ? ?? ?</form> ? ?? ?<? ? ?? ?echo _CREDIT; ? ?} ? ?elseif($pointMe == 'create') ? ?{ ? ?? ??> ? ?? ?<h2>ZIP Archive Creator</h2> ? ?? ?<form action="" method="post"> ? ?? ?<input type="hidden" name="action" value="createMe"> ? ?? ?Source FileName (can be file / folder):<br /> ? ?? ?<input name="sourcename" type="text" value="../anyfile.html" size="35" /> ? ?? ?<br /> ? ?? ?<br /> ? ?? ?Output Directory:<br /> ? ?? ?<input name="result" type="text" size="35" value="<? echo _MAIN_DIR; ?>" /> ? ?? ?<br /> ? ?? ?<br /> ? ?? ?<input name="submit" type="submit" value="? Packing and Create ZIP" /> ? ?? ? </form> ? ?? ?<? ? ?? ?echo _CREDIT; ? ?} ? ?else ? ?{ ? ?? ?echo NULL; ? ?} }
beberapa fungsi diatas adalah fungsi fungsi standar yg gw bikin ke di tutorial tutorial PHP gw dan ini untuk script eksekusi na:
Code:
if(isset($_POST["submit"])) { ? ?include "pclzip.lib.php"; ? ? ? ?if($_POST['action'] == 'extractMe') ? ?{ ? ?? ?$anyClear? ? ? = clearIt($HTTP_POST_FILES["sourcename"]["name"][0]); ? ?? ?$source? ? ? ? = _MAIN_DIR.$HTTP_POST_FILES["sourcename"]["name"][0]; ? ?? ?//format na =>> /www/root/htdocs/sitefolder/ ? ?? ? ? ?? ?@copy($HTTP_POST_FILES["sourcename"]["tmp_name"][0], $source); ? ?? ?$outputExtract = "$_POST[result]"; //format na =>> /www/root/htdocs/sitefolder/ ? ?? ? ? ?? ?//zip file to extract ? ?? ?$archive = new PclZip($source); ? ?? ? ? ?? ?if ($archive->extract(PCLZIP_OPT_PATH, $outputExtract) == 0) ? ?? ?{ ? ?? ?? ?//failed ? ?? ?? ?die("Error : ".$archive->errorInfo(true)); ? ?? ?} ? ?? ?echo "<P>It is Done !!! ENJOY BROTHER !!!</P>"; ? ?? ?redirect(1,$_SERVER["PHP_SELF"]); ? ?? ?echo "Successfully extracted files $source into $outputExtract"; ? ?} ? ?elseif($_POST['action'] == 'createMe') ? ?{ ? ?? ?$source? ? ? ? = "$_POST[sourcename]"; //format na =>> /www/ Atow /www/gambar.jpg ? ?? ?$outputArchive = "$_POST[result]"; //format na =>> /www/root/htdocs/sitefolder/ ? ?? ? ? ?? ?$archive? ? ? ?= new PclZip("$outputArchive$source.zip"); ? ?? ?@copy("$outputArchive$source.zip", "$outputArchive$source.zip"); ? ?? ? ? ?? ?//zip file to create ? ?? ?if ($archive->create($source) == 0) ? ?? ?{ ? ?? ?? ?? ?echo ("Error : ".$archive->errorInfo(true)); ? ?? ?}? ?? ?echo "<P>It is Done !!! ENJOY BROTHER !!!</P>"; ? ?? ?redirect(1,$_SERVER["PHP_SELF"]); ? ?? ?echo "Successfully Create ZIP files<BR>New Archive => $source into $source.zip<BR> ? ?? ?and copy $source.zip to $outputArchive has done !"; ? ?} ? ?else ? ?{ ? ?? ?redirect(3,$_SERVER["PHP_SELF"]); ? ?? ?echo "Are you kidding me ??"; ? ?} } else { ? ?if($_GET['menu'] == 'extractor') ? ?{ ? ?? ?formZIP('extract'); ? ?} ? ?elseif($_GET['menu'] == 'creator') ? ?{ ? ?? ?formZIP('create'); ? ?} ? ?else ? ?{ ? ?? ?echo _ABSOLUTE_MENU; ? ?? ?echo "<h2>Welcome To ZIP Archive Extractor and Creator</h2>"; ? ?? ?echo _CREDIT; ? ?} }
Baris untuk mengekxtrak ada pada:
Code:
//zip file to extract $archive->extract(PCLZIP_OPT_PATH, $outputExtract)
sedangkan untuk mengcreate zip na:
Code:
$archive->create($source)
It's done broder ! Download File na: Image
LD
Penulis
Loka Dwiartara

Saya membantu orang non-IT yang punya ide dan laptop agar bisa membangun aplikasi sederhana dengan bantuan AI, tanpa latar belakang IT, tanpa harus belajar coding dari nol.

Artikel Terkait