2010-07-02 4 views
0

Salut frnds quelqu'un peut-il me comment créer un fichier Zip en utilisant PHP? En fait, j'ai 10 fichiers avec des boîtes, si je sélectionne plus d'une case à cocher que les fichiers devraient obtenir zip/RAR et je suis en mesure d'enregistrer dans un certain chemin ..comment créer rar/zipfile et télécharger

S'il vous plaît quelqu'un peut-il aider dans cette solution que je suis nouveau à php

Répondre

2
$zip_name = 'path/to/final.zip'; //the real path of your final zip file on your system 
$zip = new ZipArchive; 
$zip->open($zip_name, ZIPARCHIVE::CREATE); 
foreach($files as $file) 
{ 
    $zip->addFile($file); 
} 
$zip->close(); 

header('Content-type: application/zip'); 
header('Content-disposition: filename="' . $zip_name . '"'); 
header("Content-length: " . filesize($zip_name)); 
readfile($zip_name); 
exit(); 
+0

/vers/final.zip qui est ce chemin? je veux installer winzip dans mon système? en fait j'utilise winrar .. – user346797

+0

édité ma réponse sur le chemin. Non, vous n'avez pas besoin d'installer un logiciel tiers. ZipArchive est l'extension Zip intégrée de PHP. Vous pouvez l'utiliser hors de la boîte dans PHP 5.2.0 + – fabrik

+0

zip crée mais quels fichiers je sélectionne dans la case à cocher que les fichiers ne pas entrer dans zipfolder..wat est le problème? – user346797

1
// This example creates a ZIP file archive test.zip and add the file /path/to/index.txt. as newname.txt. 
$zip = new ZipArchive; 
$res = $zip->open('test.zip', ZipArchive::CREATE); 
if ($res === TRUE) { 
    $zip->addFile('/path/to/index.txt', 'newname.txt'); 
    $zip->close(); 
    echo 'ok'; 
} else { 
    echo 'failed'; 
} 
+0

qui est ce test.zip aussi je devrais obtenir ('/path/to/index.txt', 'newname.txt'); effectivement je veux créer un document zip pour mot – user346797

-1
//include your connection file 
//$file_names[] get your files array 
//$error = "";  //error holder 
//$file_path='set your image path' folder to load files 
if(extension_loaded('zip')) 
{ // Checking ZIP extension is available 
    if(count($file_names) > 0) 
    { 
     // Checking files are selected 
     $zip = new ZipArchive();   // Load zip library 
     $zip_name = time().".zip";   // Zip name 
     if($zip->open($zip_name, ZIPARCHIVE::CREATE)!==TRUE){  // Opening zip file to load files 
      $error .= "* Sorry ZIP creation failed at this time<br/>"; 
     } 
     foreach($file_names as $file){ 
      $zip->addFile($file_path.$file);   // Adding files into zip 
     } 
     $zip->close(); 
     if(file_exists($zip_name)) 
     { 
      // push to download the zip 
      header('Content-type: application/zip'); 
      header('Content-Disposition: attachment; filename="'.$zip_name.'"'); 
      readfile($zip_name); 

      // remove zip file is exists in temp path 
      unlink($zip_name); 
     } 

    } 
    else 
    { 
     $error .= "* Please select file to zip <br/>"; 
    } 
} 
else 
{ 
    $error .= "* You dont have ZIP extension<br/>"; 
} 
?> 
chemin
Questions connexes