Nwlapcug.com


Creazione di un sistema di archiviazione di File PHP

Creazione di un sistema di archiviazione di File PHP


Potrebbe essere uno dei molti programmatori che ha scelto il PHP come linguaggio lato server computer per guidare l'applicazione di Internet di ingresso ad alta intensità. Se si esegue un blog o un sito di social networking, avvalersi dell'impegno di questo linguaggio dinamico con tecnologia di archiviazione: creare un sistema che automaticamente comprimere ed eseguire il backup i file che contengono i contenuti più importanti. A tal fine è possibile utilizzare uno dei tipi di archivio più ampiamente usato, con l'estensione ". zip", per comprimere i dati selezionati in un file singolo, ordinato e compatto.

Istruzioni

1

Scrivere codice che automaticamente corrisponde al nome dell'archivio che verrà creato. L'esempio riportato di seguito fa impiegando la funzione "date ()" di PHP:

<? php

$newZipFileName = "archivioper". Date("Ymd_H-i-s"). "zip";

Il nome del file generato da questo codice è unico e preciso al secondo. Tale esattezza assicura che archivi non sovrascriverà un l'altro. Ad esempio, se lo script sono stato eseguito su 11 gennaio 2010, esattamente cinque di pomeriggio, il nuovo nome del file sarebbe "archive_for_20100111_16-00-00.zip".

2

Creare un'istanza della classe ZipArchive, quindi utilizzarlo per creare un file zip con il nome che stabilito sopra. Ad esempio, è possibile scrivere quanto segue:

$zip = nuova ZipArchive;

$open = $zip -> Apri ($newZipFileName, ZipArchive::CREATE);

3

Aggiungere file all'archivio, ora che è aperto, utilizzando il comando "addFile()". Di seguito è riportato un frammento di codice che verrà archiviati tutti i file da una directory denominata "blogEntries". Includere le istruzioni "echo", come in questo esempio, se si desidera vedere esattamente quali file vengono aggiunti all'archivio:

Se ($handle = opendir('blogEntries/'))

{

echo "Directory handle: $handle\n";

echo "Files:\n";

while (false !== ($file = readdir($handle)))

{

echo "beStory/$file";

$zip->addFile("blogEntries/".$file);

}

closedir($handle);

}

4

Chiudere il file. Ora che hai scritto il codice che aggiunge file all'archivio, è necessario includere l'istruzione di "Close ()":

$zip -> Close ();

? >

5

Garantire il tuo script aggiungendo un'istruzione "if" che genererà un errore nel caso in cui il nuovo file non crea correttamente. Ecco lo script di esempio intero, con una simile dichiarazione aggiunto:

<? php

$newZipFileName = "archivioper". Date("Ymd_H-i-s"). "zip";

$zip = nuova ZipArchive;

$open = $zip -> Apri ($newZipFileName, ZipArchive::CREATE);

Se ($open)

{

echo "ZipArchive open!";

if ($handle = opendir('blogEntries/'))

{

echo "Directory handle: $handle ";

echo "Files:";

while (false !== ($file = readdir($handle)))

{

echo "blogEntries/$file";

$zip->addFile("blogEntries/".$file);

}

closedir($handle);

}

$zip->close();

}

else echo "Archivio Zip fallito creare e aprire.";

? >

6

Incapsulare questo script come una funzione e hanno il programma principale di chiamarlo automaticamente. In alternativa, inserirlo in un file PHP autonomo ed eseguirlo come spesso come si desidera semplicemente visitando quel file nel browser.

Consigli & Avvertenze

  • Alterare la precisione della funzione "data" implementata nella denominazione dell'archivio. In alcuni casi, è possibile vecchi archivi verranno automaticamente sovrascritti. Un file che contiene l'anno e mese, ma non il giorno o ora, eliminerà automaticamente la vecchia versione di se stesso (sovrascriverlo) fino alla modifica del mese. Inoltre, ricorda che le date restituite da questa funzione dipendono le impostazioni del server, quindi formattare di conseguenza.
  • Modificare la parte di gestione dei file dello script da includere solo un certo tipo di file, se lo si desidera. Ad esempio, utilizzare "str_pos()" per confermare che ". txt" è tenuto in un nome di file e impostare questa come condizione per l'inclusione nell'archivio. È possibile automatizzare il nome della directory in modo simile, secondo cui sono archiviati i file per il backup sul server.
  • La libreria di ZipArchive non è disponibile per le versioni di PHP precedenti 5.2.0. Anche nelle versioni a cui la libreria è disponibile, potrebbe non essere installato. Rivolgiti al tuo amministratore di sistema se la classe non sembrano funzionare per voi.