Du kan vara en av de många programmerare som har valt PHP som server - side datorspråk att köra din input - intensiva Internet applikation . Om du kör en blogg eller sociala nätverk , använda dig av denna dynamiska språk engagemang med arkivering teknik : skapa ett system som automatiskt kommer att komprimera och säkerhetskopiera filerna som håller din viktigaste innehållet . För att göra så att du kan använda en av de mest använda arkivtyper , med " . Zip " förlängning , för att packa valda data i en enda , snyggt och kompakt fil . Saker du behöver
Server som kör PHP version 5.2.0 eller högre
Visa fler instruktioner
1 kod
Skriv som automatiskt namnger arkiv som du vill skapa . Provet gör nedan så genom att använda PHP : s " date ( ) " -funktion : ?
< Php
$ newZipFileName = " archive_for_ " . datum ( " Ymd_H -I-S " ) . " zip . " ;
Filnamnet genereras av denna kod är unik och exakt ner till den andra . Sådan exakthet gör att arkiven inte kommer att skriva över varandra . Till exempel , om manuset avrättades den 11 januari 2010 , på exakt fem på eftermiddagen , skulle det nya filnamnet " archive_for_20100111_16 - 00 - 00.zip " .
2
Skapa en instans av ZipArchive klassen , sedan använda den för att skapa en zip-fil med det namn du etablerat ovan . Till exempel kan du skriva följande :
$ zip = ny ZipArchive ;
$ open = $ zip - > open ( $ newZipFileName , ZipArchive :: Skapa ) ;
Billiga 3
Lägg till filer i arkivet , nu när det är öppet , genom att använda " addFile ( ) " -kommandot . Nedan är en bit kod som kommer att arkivera alla filer från en katalog som heter " blogEntries " . Inkludera " echo " uttalanden , eftersom detta prov gör , om du vill se exakt vilka filer läggs till arkivet :
if ( $ handtag = opendir ( ' blogEntries /' ) ) katalog
{
echo " Nummer handtag : $ handtag \\ n";
echo " Filer : \\ n"; !
while ( false == ( $ file = readdir ( $ handtaget ) ) ) katalog
{
eko
4
Stäng filen . Nu när du har skrivit in koden som kommer att lägga till filer i arkivet , inkludera " close ( ) " uttalande :
$ zip - > close ( ) ;
>
5
Säkra ditt manus genom att lägga till ett "om " uttalande som kommer att kasta ett fel om den nya filen inte skapar korrekt . Här är hela provet manus , med ett sådant uttalande tillade: ?
< Php
$ newZipFileName = " archive_for_ " . datum ( " Ymd_H -I-S " ) . " zip . " ;
$ zip = ny ZipArchive ;
$ open = $ zip - > open ( $ newZipFileName , ZipArchive :: Skapa ) ,
if ( $ open ) katalog
{
echo " ZipArchive open ! " ,
if ( $ handtag = opendir ( ' blogEntries /' ) ) katalog
{
echo " Nummer handtag: $ handtag " ,
echo " Filer :";
while ( ! falskt == ( $ file = readdir ( $ handtag ) ) )
{
echo echo " zip-arkiv misslyckades med att skapa och öppna . " ; ?
>
6
Inkapsla här skriptet som en funktion , och har din huvudsakliga programmet kallar det automatiskt . Alternativt , placera den i en fristående PHP filen och kör den så ofta som du vill bara genom att besöka den filen i din webbläsare .