Bilder nach entpacken verändert ?

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

  • Bilder nach entpacken verändert ?

    Hallöchen,

    ich lade über ein Script ein zip Archiv hoch und lass es mit system("unzip ...."); entpacken.
    Wenn ich die Bilder dann bearbeiten will überstehen die nichtmal die Überprufung mit $imgtest = @imagecreatefromjpeg($datei);.
    Lad ich die Bilder nicht gepackt hoch dann geht das einwandfrei.

    Kann es sein das die Dateien irgendwie nen schlag durch das entpacken bekommen ?
    Gruß

    Majjo

  • #2
    kann sein. kann auch sein, dass die Bilder einen Schaden beim Packen erhalten. Hast du Code?
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      Also ich habs mehrmals mit neuem Packen gemacht.
      Wenn ich die Bilder hier wieder entpacke und lad die hoch dann geht das, also haben die Bilder durch das Packen keine Macke.

      PHP-Code:
          system("unzip /home/user/uploads/".$_FILES['Datei']['name']." -d /home/user/uploads/bilder >/dev/null");

          
      $fp opendir("/home/user/uploads/bilder");
          while (
      $datei readdir($fp)) {
              if (
      $datei != ".." && $datei != ".") {
                  
      $imgtest = @imagecreatefromjpeg($datei);
                  if (
      $imgtest) {
                      
      // Hier wird das Bild weiter verarbeitet
                  
      }
                  elseif (!
      $imgtest$fehler .= "Das Bild ".$datei." enthält Fehler und wurde wieder gelöscht !";
              }
          } 
      Gruß

      Majjo

      Kommentar


      • #4
        Erstmal bitte das @ entfernen - das hilft keinesfalls bei der Fehlersuche!

        if (true) {...} else if (!true) {...}
        Wenn das erste if nicht wahr wird, dann wird es das zweite immer, ein einfaches else genügt da völlig.


        Hast du es auch mal mit gunzip versucht (evtl. ist das bei dir das gleiche wie unzip)?

        Bist du dir sicher, dass es jpeg-Bilder sind?

        Du weißt, dass jpeg ein Kompressionsformat ist? Wird schon bei der Erstellung komprimiert - wahlweise sogar mit dem ZIP-Algorithmus. Zusätzliches zippen bringt also wenig, weil nur noch die Header Sparpotential haben.

        Die ZIP-Funktionen von PHP stehen dir nicht zur Verfügung? (http://php.net/zip)

        Kommentar


        • #5
          Hallo,

          mit gunzip noch nicht versucht, mach ich gleich mal.

          Ja, ich bin mir sicher das es jpg Bilder sind.
          Das zippen bringt auch keine Ersparnis, ist mir auch klar, nur es werden jedes Wocheende ca. 1000 Bilder hochgeladen und es ist schon nervend wenn man alle einzeln in die Formulare rufen muss.
          Da ist eine .zip Datei schon praktischer.

          Wenn Du natürlich eine möglichkeit kennst wo man direkt in einem Formular nen Ordner angeben kann aus dem alles hochgeladen wird dann bin ich natürlich auch offen für diese Lösung

          zip wurde in PHP leider nicht mit compiliert
          Gruß

          Majjo

          Kommentar


          • #6
            Original geschrieben von Majjo
            Wenn Du natürlich eine möglichkeit kennst wo man direkt in einem Formular nen Ordner angeben kann
            Sowas geht leider nicht. Aber du könntest doch ein TAR-Archiv daraus machen, statt zu zippen. Oder packe es wenigstens mit dem selben Tool (also (g)unzip), mit dem du es auch wieder auspackst.

            Kommentar


            • #7
              Ähm, es geht darum das es andere hochladen.
              Die machen die Fotos und laden die hoch.
              Ich will es so einfach wie möglich für die machen und zip kann wohl jeder.
              Gruß

              Majjo

              Kommentar


              • #8
                Okay, dann kannst du nicht beeinflussen, wie die JPEGs erstellt und anschließend gepackt werden.

                Versuch mal vor dem system(unzip ...) das Archiv mit move_uploaded_file zu verschieben, am besten gleich ins Zielverzeichnis und dann unzip ohne -d.
                Sollte nichts bringen, aber ein Versuch schadet nicht.

                Außerdem könntest du diverse Modifier von unzip testen (siehe http://www.die.net/doc/linux/man/man1/unzip.1.html), -a, -b usw.

                Kommentar


                • #9
                  Letzteres schau ich mir mal an.

                  Verschoben werden die Files vorher schon.
                  Gruß

                  Majjo

                  Kommentar

                  Lädt...
                  X