ordner in zip datei?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ordner in zip datei?

    Hallo,

    ich möchte eine Zip Datei entpacken...(klappt schon soweit) dabei möchte ich aber rausfinden ob es sich bei einem Eintrag um einen Ordner handelt...

    das hier funktioniert leider nicht...
    PHP-Code:
    while($zipEntry zip_read($zipFile)){
    if(
    is_dir(zip_entry_name($zipEntry))){ 
    könnte mir da jemand nen Tip geben...

  • #2
    zip_entry_name liefert dir doch bspw. webs\dummy\files\db.inc.php oder?

    wie wär's mit basename und dirname?
    steht gleube ich auch so in der doku
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      stimmt das klingt logisch, allerdings hab ich jetzt das hier und das will auch nicht...

      PHP-Code:

      if(!is_file(basename(zip_entry_name($zipEntry)))){ 
      bei der Ausgabe von basename(zip_entry_name($zipEntry)) gibt er mir die Ordner bzw. einen Dateinamen im Zip Zurück, also müßte doch der unterschied zwischen Datei und ordner erkannt werden...leider gehts so nciht...

      Kommentar


      • #4
        das is_file prüft, ob die datei, die du angibst, im aktuellen verzeichni auf der festplatte existiert weißt du?

        was willst du denn machen?
        Leere Ordner kriegst du doch nicht in dein zipfile
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          PHP-Code:
          $dir_name dirname(zip_entry_name($zip_entry));
          if (
          $dir_name != ".") {
             
          $dir_op $dir.$file."/";
             foreach ( 
          explode("/",$dir_name) as $k) {
                
          $dir_op $dir_op $k;
                if (
          is_file($dir_op)) unlink($dir_op);  // Vorsicht!
                
          if (!is_dir($dir_op)) mkdir($dir_op);
                
          $dir_op $dir_op "/" ;
             }

          Kommentar


          • #6
            da sist ja schon fast nen chat hier...
            also was ich machen möchte ist folgendes:

            ich lese ein zip file aus, da sind dann ordner und Dateien drin...ich möchte dann ein Array mit den Namen der in dem Zip File existierenden Ordner befüllen...Dafür gehe ich nach und nach die EInträge durch (while-schleife) und wenn der eintrag ein Ordner ist soll das in ein array geschrieben werden...

            Kommentar


            • #7
              Original geschrieben von sanchez
              ich lese ein zip file aus, da sind dann ordner und Dateien drin
              Häng so ein Archiv mal bitte als Datei an deine Antwort hierauf an.
              Ich habe in meinem zip-Dateien nämlich nur Dateien und keine Ordner.
              Ich kann höchstens die Ordnerstruktur mitabspeichern, aber die ist dann als Teil des Dateinamens vorhanden, es gibt keinen Extraeintrag für Ordner an sich.

              Du könntest aber alles in ein Array schreiben (nachdem du das, was basename dir liefert, abgeschnitten hast, dann hättest du auch die verwendeten Ordner.
              Dadrauf noch ein array_unique und es sollte halbwegs vernünftig sein (je nachdem was du damit weiter anfangen willst)
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                So, habe es geschafft...bei der Augabe mit zip_entry_name($zipEntry) ist bei Ordnern am ende immer ein /, das check ich einfach ab...danke für eure Hilfe...

                P.S.: Mit Winzip gehen nur Dateien..winrar kann auch ordner...sehr praktisch

                Kommentar


                • #9
                  Original geschrieben von sanchez
                  P.S.: Mit Winzip gehen nur Dateien..winrar kann auch ordner...sehr praktisch
                  Sachen gibt's *g*

                  Muss mal anregen, dass das hier im Büro installiert wird.
                  Hab versucht es mit WinZip nachzuvollziehen, aber da das Programm das ja nicht kann...
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar

                  Lädt...
                  X