Home > Menengah > Web Development > Tutorial PHP > ZIP Archive Extractor and Creator

.

Tidak ada komentar BYAdmin Ilmuwebsite

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

DVD Video Tutorial : Kursus Web Development Komplit Bangun 5 Project Aplikasi Website - Membuat CMS Sendiri Dari Nol, Blog, Portal Berita, Ecommerce, Web Komunitas dengan CodeIgniter 3 JQuery AJAX Bootstrap

Video Tutorial Kursus Web Development Komplit Bangun 5 Project Website ini merupakan ‘penunjuk arah’ agar Anda yang sedang maupun baru akan terjun ke dalam dunia web development yang lebih mendalam memiliki peta perjalanan pembelajaran yang lebih terarah menuju web developer professional. (Disertai pembelajaran dasar HTML CSS, JQuery, PHP & MySQL, CodeIgniter) Dibuat oleh praktisi yang memiliki pengalaman lebih dari 10 tahun di bidang web development (Pemesanan bisa SMS/WA ke 0813 1167 5785, atau bisa pesan secara online di sini)



No Responses

eXTReMe Tracker