Salut
Vreau sa creez o arhiva ce va contine mai multe fisiere pentru a nu crea script ca sa descarce fiecare fisier in parte ci sa descarce o singura data arhiva respectiva.
De exemplu se cunosc deja numele a doua fisiere, si vreau ca printr-un script sa se adauge intr-o arhiva.
Arhiva sa contina fisierele pe care vreau sa le downloadez de pe serverul siteului.
Adica sa zicem ca printr-un formular uploadez 2 fisiere, vreau ca acele fisiere sa se adauge intr-o arhiva gen Winrar /Zip, ca sa nu stau sa downloadez fiecare fisier in parte ci sa descarc arhiva cu totul.
Am vazut ca atunci cand trimiti un email cu niste fisiere, acele fisiere se adauga intr-o arhiva automat in momentul uploadului (la yahoo am observat asta).
Cum se face asa ceva?
Creare arhiva RAR / ZIP cu php
-
- Mesaje:190
Creare arhiva RAR / ZIP cu php
MarPlo
Mesaje:4343
PHP are functii de citire arhiva WinRar, la pagina:
php.net/manual/en/book.rar.php
- dar nu si de a crea arhiva RAR (motive de licentiere).
In schimb poti sa faci arhiva ZIP cu PHP. Codul din exemplu urmator arhiveaza 3 fisiere (pot fi cu extensie diferita) intr-o arhiva Zip.
- Documentatie si functiile PHP de citire /scriere arhiva Zip, la adresa: php.net/manual/en/book.zip.php
Daca vrei ca dupa procesul de arhivare sa fie si descarcata arhiva Zip, poti sa adaugi acest cod:
php.net/manual/en/book.rar.php
- dar nu si de a crea arhiva RAR (motive de licentiere).
In schimb poti sa faci arhiva ZIP cu PHP. Codul din exemplu urmator arhiveaza 3 fisiere (pot fi cu extensie diferita) intr-o arhiva Zip.
Cod: Selectaţi tot
<?php
// Array cu adresa fisierelor ce vor fi adaugate in arhiva ZIP
$files = array('dir/file1.txt', 'dir/image.jpg', 'dir/audio.mp3');
$zip_file = 'dir_to/final.zip'; // calea si numele arhivei care va fi creata
$zip = new ZipArchive; // creaza obiect de lucru cu clasa ZipArchive
// daca poate crea arhiva $zip_file, parcurge fisierele din $files si le adauga in arhiva
if($zip->open($zip_file, ZipArchive::CREATE) === TRUE) {
foreach($files as $file){
$zip->addFile($file);
}
$zip->close();
echo 'Arhiva: '. $zip_file. ' a fost creata';
}
else "Unable to create: $zip_file";
Daca vrei ca dupa procesul de arhivare sa fie si descarcata arhiva Zip, poti sa adaugi acest cod:
Cod: Selectaţi tot
// Codul de creare, sau preluare a arhivei
header('Content-type: application/zip');
header('Content-disposition: filename="' . $zip_file . '"');
header("Content-length: " . filesize($zip_file));
readfile($zip_file);
exit();
Subiecte similare
- Creare meniu in site cu php
Scripturi de pe site Primul mesaj
SalutUltimul mesaj
Am incercat sa pun icons pe primul nivel al meniului din tutorialu tau: Creare site de la zero si nu reusesc sa il adaug pe butonele care...
Multumes pt ajutor
Este ok acum.
Din exeplul dat de tine am mai vazut ceva intersant si anume acel meniu asa zis breadcrumb cu ce ma selectat deja....