συμπιεση αρχειων : PHP Zip File Functions Nikos Balatsoukas Αυγούστου 4, 2013 php Edit Η συμπιεση αρχειων είναι μια από τις πιο συνηθισμένες διαδικασίες για τη μεταφορά αρχείων. Όπως όλες οι γλώσσες προγραμματισμού, έτσι και η γλώσσα php διαθέτει τις απαραίτητε συναρτήσεις για τη συμπιεση αρχειων
php zip
Σε αυτό το άρθρο παρουσιάζουμε τον τρόπο με το οποίο η γλώσσα php χειρίζεται τα αρχεία zip για τη συμπιεση αρχειων Για να μπορέσετε να εκτελέσετε τις συναρτήσεις Zip στο δικό σας server θα πρέπει να εγκαταστήσετε τις παρακάτω βιβλιοθήκες: Τη ZZIPlib library από Guido Draheim Το Zip PELC extension
συμπιεση αρχειων Για να ενεργοποιήσουμε σε κάθε PHP extension, τα PHP extension_dir setting (που βρίσκονται στο αρχείο php.ini) πρέπει να έχουν οριστεί στο φάκελο (directory ) που έχουν τοποθετηθεί τα PHP extensions Ένα παράδειγμα τιμής του extension_dir θα μπορούσε να είναι c:\php\ext. Όλες οι συναρτήσεις που ακολουθούν είναι συμβατές με την έκδοση 4 της γλώσσας php καθώς και με τις επόμενες
Στη συνέχεια ακολουθούν οι συναρτήσεις php για τη συμπιεση αρχειων, δηλαδή οι συναρτήσεις που σχετίζονται με το χειρισμό των zip αρχείων: zip_close() Κλείνει ένα αρχείο zip που άνοιξε με τη συνάρτηση zip_open() Παράδειγμα στη συμπιεση αρχειων:
1
<!--?php $zip = zip_open("test.zip"); zip_read($zip); // some code zip_close($zip); ?-
zip_entry_close() Κλείνει ένα αρχείο zip που άνοιξε με τη συνάρτηση zip_entry_open() Παράδειγμα στη συμπιεση αρχειων:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
<!--?php <br ?-->$zip = zip_open("test.zip"); if ($zip) { while ($zip_entry = zip_read($zip)) { echo " "; echo "Name: " . zip_entry_name($zip_entry) . " "; if (zip_entry_open($zip, $zip_entry)) { // some code zip_entry_close($zip_entry); } echo " "; } zip_close($zip); } ?>
zip_entry_compressedsize() Επιστρέφει το μέγεθος του συμπιεσμένου αρχείου Παράδειγμα:
1
<!--?php <br ?-->$zip = zip_open("test.zip");
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
if ($zip) { while ($zip_entry = zip_read($zip)) { echo " "; echo "Name: " . zip_entry_name($zip_entry) . " "; echo "Compressed Size: " . zip_entry_compressedsize($zip_entry); echo " "; } zip_close($zip); } ?>
zip_entry_compressionmethod() Επιστρέφει τη μέθοδο συμπίεσης Παράδειγμα:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
<!--?php <br ?-->$zip = zip_open("test.zip"); if ($zip) { while ($zip_entry = zip_read($zip)) { echo " "; echo "Name: " . zip_entry_name($zip_entry) . " "; echo "Compression Method: " . zip_entry_compressionmethod($zip_entry); echo " "; } zip_close($zip); } ?>
zip_entry_filesize() Επιστρέφει το αρχικό μέγεθος του αρχείου (πριν από τη συμπιεση αρχειων)
Παράδειγμα:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
<!--?php <br ?-->$zip = zip_open("test.zip"); if ($zip) { while ($zip_entry = zip_read($zip)) { echo " "; echo "Name: " . zip_entry_name($zip_entry) . " "; echo "Original size: " . zip_entry_filesize($zip_entry); echo " "; } zip_close($zip); } ?>
zip_entry_name() Επιστρέφει το όνομα του ζιπαρισμένου αρχείου Παράδειγμα:
1 2 3 4 5 6 7 8 9 10 11 12
<!--?php <br ?-->$zip = zip_open("test.zip"); if ($zip) { while ($zip_entry = zip_read($zip)) { echo "Name: " . zip_entry_name($zip_entry) . " "; } zip_close($zip); } ?>
zip_entry_open() Ανοίγει ένα ζιπαρισμένο αρχείο για ανάγνωση Παράδειγμα:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
<!--?php <br ?-->$zip = zip_open("test.zip"); if ($zip) { while ($zip_entry = zip_read($zip)) { echo " "; echo "Name: " . zip_entry_name($zip_entry) . " "; if (zip_entry_open($zip, $zip_entry)) { // some code } echo " "; } zip_close($zip); } ?>
zip_entry_read() Παίρνει τα περιεχόμενα ενός ζιπαρισμένου αρχείου Παράδειγμα:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
<!--?php <br ?-->$zip = zip_open("test.zip"); if ($zip) { while ($zip_entry = zip_read($zip)) { echo " "; echo "Name: " . zip_entry_name($zip_entry) . " "; if (zip_entry_open($zip, $zip_entry)) { echo "File Contents: "; $contents = zip_entry_read($zip_entry); echo "$contents "; zip_entry_close($zip_entry); } echo "
20 21 22 23 24 25 26 27 28
"; } zip_close($zip); } ?>
zip_open() Ανοίγει ένα ζιπαρισμένο αρχείο για ανάγνωση Παράδειγμα:
1
<!--?php $zip = zip_open("test.zip"); zip_read($zip); // some code zip_close($zip); ?-
zip_read() Ανοίγει το επόμενο αρχείο από τα περιεχόμενα του ζιπαρισμένου αρχείου Παράδειγμα για τη συμπιεση αρχειων:
1
<!--?php $zip = zip_open("test.zip"); zip_read($zip); // some code zip_close($zip); ?-
Είδαμε παραδείγματα με τις συναρτήσεις php που σχετίζονται με τη συμπιεση αρχειων
PHP Zip File Functions PHP Zip εφαρμογές PHP Zip συναρτήσεις συμπιεση αρχειων
Πηγή: http://www.infopolis.gr/sympiesi-arxeiwn/