tutorials.de Buch-Aktion 05/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
17
ZUGRIFFE
1437
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    megatom megatom ist offline Mitglied Silber
    Registriert seit
    Oct 2004
    Beiträge
    78
    Aloah !
    Ich habe zwar schon einige Beiträge über entzippen hier gefunden, aber der jüngste ist schon über 1 Jahr alt...
    Und die Klassen scheinen sich entwickelt zu haben ...
    Ich habe die DUnzip2 ausprobiert, und die scheint auch ganz brauchbar zu sein.
    Ich hoffe jemanden zu finden, der sich damit etwas besser zurechtfindet als ich ...
    Ich habe eine zip-Datei mit Bildern.
    Diese möchte ich nun in ein Verzeichnis entpacken. Soweit kein Problem ...
    Aber ich möchte zusätzlich die Dateien umbenennen und jeweils einen Datenbankeintrag je Bild generieren ...
    Hat sowas schon mal jemand mit einer Zip Klasse gemacht?
    Kann auch gerne eine andere sein.
    Danke !
    Ciao Tom
     

  2. #2
    Avatar von forsterm
    forsterm forsterm ist offline Mitglied Rubin
    Registriert seit
    Nov 2004
    Ort
    Bayern
    Beiträge
    1.328
    Hallo,
    und wo genau ist dann jetzt dein Problem?
    Du entpackst die ZIP Datei in ein beliebiges Verzeichnis.
    Dieses durchläufst du anschließend mit PHP und benennst die Bilder um und erstellst deinen Datenbankeintrag.

    mfg
    forsterm
     
    Wie man Fragen richtig stellt

    Wichtig:
    Bitte markiert eure beantworteten Fragen als "erledigt" (links unten auf "Erledigt" klicken).
    __________________
    .:Mitglied #26 des 1. offiziellen Sven Uwe Fan-Clubs:.

  3. #3
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Ich verwende immer PEAR::Zip_Archive dafür: http://pear.php.net/package/Archive_Zip

    Da haste alles, was du für dein Vorhaben benötigst. Methode listContent() besorgt dir alle Informationen aus dem Archiv. Mit extract() kannst du dann einzelne oder mehrere Dateien aus dem Archiv holen und da du schon den ursprünglichen Dateinamen kennst kannst du die Datei auch entsprechend umbenennen, in einem andern Pfad speichern oder sonst wie manipulieren.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  4. #4
    megatom megatom ist offline Mitglied Silber
    Registriert seit
    Oct 2004
    Beiträge
    78
    Aloah !
    Danke !
    Also die PEAR Klasse scheint mir sehr gut zu sein, auch wenn ich mit Kanonen auf Spatzen schiesse
    Gibt es für die extract() Funktion Beispiele oder Tutorials ?
     

  5. #5
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Ich brauche ohnehin PEAR, daher macht es für mich keinen Unterschied, ein Package mehr drauf zu haben

    Vielleicht hilft dir das hier: http://www.phpit.net/article/creatin...namically-php/
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  6. #6
    megatom megatom ist offline Mitglied Silber
    Registriert seit
    Oct 2004
    Beiträge
    78
    Hehe
    Also ich bin jetzt soweit:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    require_once "../zip/Zip.php";
        $zip = new Archive_Zip($zip_FILE);
        $list = $zip->listContent();
        foreach ($list as $v) {
            $pictures_insert = mysql_query("INSERT INTO tbl VALUES('', '$Category');");
                     $last_id = mysql_insert_id();
     
        }

    Nur wie bekomme ich den jetzt dazu, dass der mir die aktuelle Datei mit Namen $last_id in ein beliebiges Verzechnis entpackt ?
     

  7. #7
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    PHP-Code:
    require 'Archive/Zip.php';

    $zip = new Archive_Zip('my.zip');
    $list $zip->listContent();
    foreach(
    $list as $file)
    {

        
    $zip->extract(array('by_name' => $file['filename']));

     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  8. #8
    megatom megatom ist offline Mitglied Silber
    Registriert seit
    Oct 2004
    Beiträge
    78
    Hmm.
    Wichtig ist mir vor allem, dass der der Dateiname geändert wird in $last_id, wie in meinem Beispiel !
    Und den Pfad muss ich noch irgendwie unterbringen ...
    Wenn ich es so versuche :

    PHP-Code:
    foreach ($list as $v) {
            
    $zip->extract(array('by_name' => $v['filename']), 'add_path' => '/images/pictures/test/');        echo $v['filename']." hochgeladen<br />";
        } 
    bekomme ich folgende Fehlermeldung :
    Parse error: syntax error, unexpected T_DOUBLE_ARROW in /www/htdocs/xxx/vvv/admin/pictures.php on line 39
    Geändert von megatom (19.06.07 um 23:14 Uhr)
     

  9. #9
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    rename() ist dein Freund, das innerhalb der Schleife gleich nach dem extract.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  10. #10
    Avatar von forsterm
    forsterm forsterm ist offline Mitglied Rubin
    Registriert seit
    Nov 2004
    Ort
    Bayern
    Beiträge
    1.328
    Hallo,
    Zitat Zitat von megatom Beitrag anzeigen
    Hmm.
    Wichtig ist mir vor allem, dass der der Dateiname geändert wird in $last_id, wie in meinem Beispiel !
    Und den Pfad muss ich noch irgendwie unterbringen ...
    wie wär's wenn du mal das Manual lesen würdest?
    Dann hättest du bestimmt die rename() - Funktion gefunden.

    mfg
    forsterm
     
    Wie man Fragen richtig stellt

    Wichtig:
    Bitte markiert eure beantworteten Fragen als "erledigt" (links unten auf "Erledigt" klicken).
    __________________
    .:Mitglied #26 des 1. offiziellen Sven Uwe Fan-Clubs:.

  11. #11
    megatom megatom ist offline Mitglied Silber
    Registriert seit
    Oct 2004
    Beiträge
    78
    Ich will aber nicht das zip file umbenennen, sondern die gerade zu entpackende Datei ...
    Und wenn ich einen Pfad angeben will bekomme ich oben genannte Fehler meldung
     

  12. #12
    Avatar von forsterm
    forsterm forsterm ist offline Mitglied Rubin
    Registriert seit
    Nov 2004
    Ort
    Bayern
    Beiträge
    1.328
    Hallo,
    Zitat Zitat von megatom Beitrag anzeigen
    Ich will aber nicht das zip file umbenennen, sondern die gerade zu entpackende Datei ...
    Und wenn ich einen Pfad angeben will bekomme ich oben genannte Fehler meldung
    das liegt daran, dass du dort eine schließende Klammer zu viel hast.

    mfg
    forsterm
     
    Wie man Fragen richtig stellt

    Wichtig:
    Bitte markiert eure beantworteten Fragen als "erledigt" (links unten auf "Erledigt" klicken).
    __________________
    .:Mitglied #26 des 1. offiziellen Sven Uwe Fan-Clubs:.

  13. #13
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Zitat Zitat von megatom Beitrag anzeigen
    Hmm.
    bekomme ich folgende Fehlermeldung :
    Parse error: syntax error, unexpected T_DOUBLE_ARROW in /www/htdocs/xxx/vvv/admin/pictures.php on line 39
    Klammer richtig setzen, die erste geschlosse ist an der falschen Stelle:

    PHP-Code:
    $zip->extract(array('by_name' => $v['filename'], 'add_path' => '/images/pictures/test/')); 
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  14. #14
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.520
    Zitat Zitat von megatom Beitrag anzeigen
    Ich will aber nicht das zip file umbenennen, sondern die gerade zu entpackende Datei ...
    Und wenn ich einen Pfad angeben will bekomme ich oben genannte Fehler meldung
    Was hindert dich an folgendem Algo:

    PHP-Code:
    foreach(bla as foo) {
         
    zip->extract'what' => foo[filename]);
         
    rename(foo[filename], to_what_ever.ext);

     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  15. #15
    megatom megatom ist offline Mitglied Silber
    Registriert seit
    Oct 2004
    Beiträge
    78
    Aloah !
    Vielen Dank !
    Also das mit der Klammer hatte ich schon rausgefunden.
    Nur er lädt nix hoch ...
    PHP-Code:
    foreach ($list as $v) {
            
    $zip->extract(array('by_name' => $v['filename'], 'add_path' => '/images/pictures/test/'));
            echo 
    $v['filename']." hochgeladen<br />";
        } 
    gibt mir zwar schön die Dateinamen aus, nur sind sie an angegebener Stelle nicht zu finden, und auch sonst nirgends
    Rechte sind auf 777
     

Ähnliche Themen

  1. zip-Dateien entpacken und erstellen
    Von Jo890 im Forum C/C++
    Antworten: 6
    Letzter Beitrag: 19.11.10, 14:06
  2. #ziplib VB.net Dateien entpacken
    Von matzork im Forum .NET Datenverwaltung
    Antworten: 1
    Letzter Beitrag: 14.06.07, 08:55
  3. Zipstream Dateien entpacken
    Von matzork im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 13.06.07, 10:04
  4. Womit kann man .bxp-Dateien entpacken?
    Von daredevil im Forum Microsoft Windows
    Antworten: 2
    Letzter Beitrag: 10.03.05, 16:00
  5. ZIP-Dateien entpacken/lesen
    Von Shakie im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 06.07.04, 21:09