zip στην PHP

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
oikonomou
Δημοσιεύσεις: 362
Εγγραφή: 23 Φεβ 2006 10:56

zip στην PHP

Δημοσίευση από oikonomou » 02 Μαρ 2006 19:20

Εχω ενα προβληματακι...εχω καποια αρχεια στην βαση και θελω να τα κανω zip ολα μαζι και μετα τα τα στειλω με μειλ. Το προβλημα μου ειναι να τα ζιπαρω. Στο μανουαλ της PHP δεν εχει κατι αντιστοιχο γιατι οι συναρτησεις ζιπ που εχει ειναι μονο για να διαβαζουν απο ζιπ αρχειο και οχι να δημιουργουν.

Εχει κανεις καμια συμβουλη;

Άβαταρ μέλους
shadow
Script Master
Δημοσιεύσεις: 606
Εγγραφή: 14 Απρ 2005 18:30

zip στην PHP

Δημοσίευση από shadow » 02 Μαρ 2006 20:29

Ρίξε μια ματιά στις συναρτήσεις για εκτέλεση εξωτερικών προγραμμάτων από την php. Εαν ο server ειναι σε linux then το ζιπαρισμα είναι πολύ εύκολη διαδικασία

Κώδικας: Επιλογή όλων

passthru("zip lalakia.zip file1 file2 file3");
και για win ενα παραδειγματάκι που είδα από το manual

Κώδικας: Επιλογή όλων

//  CreateZip
   function createzip ($target, $archive)
   {  $ziputil = "call \"c:\\Program Files\\7-zip\\7z.exe\"";
       $archived = escapeshellarg($archive);
       $targeted = escapeshellarg($target);

       $shellcommand= $ziputil." a -tzip ".$archived." ".$targeted."\n";

  // all of the below are working in Win XP Pro
   passthru ($shellcommand);
   exec ($shellcommand);
   system ($shellcommand);
   shell_exec ($shellcommand);
   $proc= popen ($shellcommand, "r"); //$proc contains output
Close your eyes
For your eyes will only tell the truth and the truth isnt what you want to see
In the dark, is it easy to pretend that the truth is it ought to be.
Programmers are programmers because they like to code

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

zip στην PHP

Δημοσίευση από ThyClub » 02 Μαρ 2006 22:11

Το παρακάτω αρχείο είναι μια class που δημιουργεί zip αρχεία. Νά και ένα παράδειγμα:

Κώδικας: Επιλογή όλων


<?php
$name=$_GET&#91;'name'&#93;;
include "zip.lib.php";
$zipfile = new zipfile&#40;&#41;;

// add the subdirectory ... important!
$zipfile -> add_dir&#40;"/$name"&#41;;
$directory=opendir&#40;"./"&#41;;
while &#40;$file = readdir&#40;$directory&#41;&#41;
  &#123;
    if &#40;!is_dir&#40;$file&#41;&#41;
    &#123;
      $filename="$file";
      $fp=fopen&#40;$filename,"rb"&#41;;
      $data=fread&#40;$fp,filesize&#40;$filename&#41;&#41;;
      // add the binary data stored in the string 'filedata'
      $filedata = $data;
      $zipfile -> add_file&#40;$filedata, "/$name/$file"&#41;;
    &#125;
  &#125;
closedir&#40;$directory&#41;;
//--------------------//


// the next three lines force an immediate download of the zip file&#58;
header&#40;"Content-type&#58; application/octet-stream"&#41;;
header&#40;"Content-disposition&#58; attachment; filename=$name.zeuscms.gr.zip"&#41;;
echo $zipfile -> file&#40;&#41;;

?>
Το παραπάνω ζιπάρει ένα ολόκληρο directory που του λές εσύ μέσα απο μια μεταβλητή $_GET['name'].
Συνημμένα
zip.lib.zip
zip php lip
(1.76 KiB) Μεταφορτώθηκε 400 φορές

Άβαταρ μέλους
oikonomou
Δημοσιεύσεις: 362
Εγγραφή: 23 Φεβ 2006 10:56

zip στην PHP

Δημοσίευση από oikonomou » 03 Μαρ 2006 19:21

Σε windows ειναι ο σερβερ.
Ευχαριστω παιδια πιστευω ειναι υπεραρκετα ολα αυτα.
Στο freestuff οποτε εψαξα για βοηθεια η για κανενα τουτοριαλ
παντα με βοηθησε...μπραβο παιδια

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης