Ankündigung

Einklappen
Keine Ankündigung bisher.

IEX führt Unzip script nicht aus.

Einklappen

Neue Werbung 2019

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

  • #16
    "./Bilder.zip"
    Also wenn die Datei im selben Ordner abgelegt werden soll, kannst das ./ aucg weglassen.

    ausser die **** 0 MB große Bilder.zip
    Wie hast das überprüft überprüft ?
    Vor der Zeile mit ZIP oder danach ?

    Kommentar


    • #17
      ich hab soviel geprfüt das ich garnichmehr weiss was alles

      Erstmal hab ich var_dump($_Files)

      Firefox:

      PHP-Code:
      array(1) { ["Datei"]=> array(5) {
      [
      "name"]=> string(8"test.zip"
      ["type"]=> string(15"application/zip"
      ["tmp_name"]=> string(14"/tmp/phpvb8lKY"
      ["error"]=> int(0)
      [
      "size"]=> int(140959)
      } }

      Internet Explorer:

      array(
      1) { ["Datei"]=> array(5) {
      [
      "name"]=> string(8"test.zip"
      ["type"]=> string(24"application/octet-stream"
      ["tmp_name"]=> string(14"/tmp/phpzaCTSh"
      ["error"]=> int(0)
      [
      "size"]=> int(0)
      } } 
      Dann hab ich PHPinfo aufgerufen und da alles gecheckt ...

      Hab error_reporting(E_ALL);, aber es gibt keine Fehlermeldung.

      Die 0MB leere Bilder,zip sehe ich ja via FTP ...

      Kommentar


      • #18
        Hmmm, etwas komisch, da es eigentlich Wurst ist, welcher Browser benutzt wird.
        Hast die test.zip zugleich mit Firefox und IE gemacht ?

        Kommentar


        • #19
          Zitat von DDogg
          Ich verstehe schon das PHP Serverseitig läuft.

          Aber das ist doch Browserunabhängig?

          Php läuft auch im Firefox und im Opera serverseitig?
          So, Grundkurs PHP, 1. Stunde:
          PHP läuft auf einem Server, zum Beispiel im Rechenzentrum von 1&1 in Karlsruhe auf einer Linuxmaschine, auf der vielleicht nichteinmal ein Browser installiert ist, auch keine grafische Oberfläche, nur simples Linux, auf dem ein Apache mit PHP und MySQL läuft.

          DDog hockt aber in, sagen wir mal Hamburg, hinter seinem Laptop, Windows XP, Internet Explorer 7 und tippt eine Adresse ein. "www.1und1.de". 1und1 läuft zwar wahrscheinlich auf einem Mischmasch von PHP und JSP, aber sagen wir mal die erste Anfrage ist nur PHP. So nun kommt beim Server in Karlsruhe die Anfrage von einem Typ aus Hamburg an, die Startseite von 1und1 aufzurufen. Jetzt rechnet die Linux-Maschine, auf der kein Firefox und erst recht kein Internet Explorer installiert ist, etwas rum, ruft den PHP-Interpreter auf und der erzeugt etwas HTML. Das HTML wird jetzt schön verpackt über die Leitung zurück zu deinem Laptop geschickt. Jetzt kommt zum zweiten Mal nach dem Adresse-Anfragen dein Browser ins Spiel. Merkst du was? PHP hat seine Arbeit bereits verrichtet und der Browser war eigentlich noch garnicht beteiligt.
          Der Browser merkt nun also, dass der Datenstrom der Antwort aus Karlsruhe kommt, jagt ihn durch die IE-Engine und stellt das HTML so dar, wie er es für richtig hält.
          Ist jetzt klar geworden, dass ein Browser keinen logischen Einfluß auf ein PHP-Skript hat? Die Aussage "mein PHP-Skript funktioniert im Internet Explorer nicht" ist wie "draußen ist es kälter als nachts"! Beides hat nichts miteinander zu tun, auch wenn es sich schön anhört.

          Außerdem "nutzen" Firefox und Opera doch als Basis den IEX oder nicht?
          Nein.

          Machen wirs kurz, poste einfach mal das gesamte Upload-Skript hier, das Gerate führt ja zu nichts.

          Kommentar


          • #20
            Oder du benutzt einfach mal eine "fremde" Upload-Klasse und probierst ob es damit geht
            - um der Geheimniskrämerei kein Ende zu bereiten. Hilfreich wären auch Fakten zu dem Server
            auf dem das Script läuft. Evtl. sind ja einfach nur ein paar Pfade falsch gesetzt etc.

            Besser wäre es aber wirklich den kompletten Code hochzuladen, da regnet es auch noch Hilfreiche
            Tipps zu Sicherheit, "schönem Code" u.ä.

            Ich bin gespannt
            [FONT="Book Antiqua"][I]"Nobody is as smart as everybody" - Kevin Kelly[/I]
            — The best things in life aren't things[/FONT]

            Kommentar


            • #21
              So, war grade Mittagessen. Die Nudeln mussten ganzschön leiden.
              Einer muss ja den Frust abbekommen .

              Hier nun mein ganzes Werk, bitte nicht steinigen:

              PHP-Code:
              <html>
              <
              head>
              <
              title>Administration</title>
              <
              meta name="author" content="Michi">
              <
              meta name="generator" content="Ulli Meybohms HTML EDITOR">
              <
              link rel="stylesheet" href="style.css" type="text/css">
              </
              head>
              <
              body bgcolor="#C0C0C0">
              <
              div align="center">
              <
              table cellspacing="0" cellpadding="0" border="0" width="790">
              <
              tr>
               <
              td valign="top" align="left" bgcolor="#001D44" colspan="2" width="790" height="110" class="top">
                   <
              table cellspacing="0" cellpadding="0" width=790>
                   <
              tr>
                   <
              td>[img]bilder/logo.jpg[/img]</td>
                   <
              td width="25"></td><td valign="bottom" class="top">

              </
              td>
                   <
              td valign="bottom" class="top" align="right">
                   
              HalloAdminI
                   
              [url="loggout.php"]ausloggen[/url]


                   </
              td>
                   </
              tr>
                   </
              table>
              </
              td>
              </
              tr>
              <
              tr>
              <
              td valign="top" align="center" bgcolor="#E5E8EC" width="170" height="100%" class="nav">


              [
              b]Kurz[/b]
              ____________________________</a>



              <
              a href="index.php?call=1&subcall=" class="nav">Aktuelle Nachrichten

              </a>____________________________[b]


              <
              a href="index.php?call=10&subcall=" class="nav">Produkte
              </a>[/b]____________________________
                 
              <table cellspacing="0" cellpadding="0" bgcolor="#FAFBFB" width=170>
                 <
              tr>
                 <
              td align="center" valign="top" class="nav">
                 <
              a href="index.php?call=10&subcall=11" class="nav">
              ·Neue Produkte einpflegen
              </a>
                 <
              a href="index.php?call=10&subcall=12" class="nav">
              [
              b]·Produktbilder hochladen[/b]
              </
              a>
                 </
              td>
                 </
              tr>
                 </
              table>
                 

                 
              <
              a href="index.php?call=7&subcall=" class="nav">User

                 
              </a>____________________________
                 
              </td>
                 <
              td valign="top" bgcolor="#ffffff" width="620" height="500">
                     <
              table>
                     <
              tr>
                     <
              td width="40"></td>
                     <
              td>
                     


                             <
              table cellspacing="0" cellpadding="0">
                             <
              tr>
                             <
              td valign="top">[b]Neue Produkte einpflegen[/b]-Schritt 1

                             


                             
              [b]Für Welche Produktgruppe sind die Bilder?[/b]

                             

                             <
              form action="kurz_zip/unzip.php" method="post" enctype="multipart/form-data">
                             <
              select name="tabelle" size="">
                             <
              option value="0">Bitte auswählen</option>
                             <
              option value="12" class="small">[b]Bücher und Platten[/b]</option>
                             <
              option value="11" class="small">[b]Doppelsteine[/b]</option>
                             <
              option value="10" class="small">[b]Einzelsteine[/b]</option>
                             <
              option value="9" class="small">[b]Sandgestrahlte und
              modellierte Ornamente sowie geflexte Ornamente
              [/b]</option>
                             <
              option value="8" class="small">[b]Intarsien Ornamente[/b]</option>
                             <
              option value="7" class="small">[b]Formplatten[/b]</option>
                             <
              option value="6" class="small">[b]Felsen[/b]</option>
                             <
              option value="5" class="small">[b]Grabschmuck[/b]</option>
                             <
              option value="4" class="small">[b]Materialien[/b]</option>
                             <
              option value="3" class="small">[b]Gartenaccessoires[/b]</option>
                             <
              option value="2" class="small">[b]Wohnaccessoires[/b]</option>
                             </
              select>
                             

              W&auml;hlen Sie eine Zipdatei von Ihrem Rechner aus:

                             <
              input type="hidden" name="MAX_FILE_SIZE" value="300000000">
                             <
              input name="Datei" type="file" size="25">
                             </
              p>
                             <
              input type="Submit" name="Hochladen" value="Hochladen">
                             </
              form>
                             

              </
              p>
                             </
              td>
                             <
              td width=20></td>
                             <
              td bgcolor="#E5E8EC" valign="top" width="123">
                                 <
              table >
                                 <
              tr>
                                 <
              td width="20"> </td>
                                 <
              td>
                                 

                                 <
              font size="-2">[b]Schritt 1[/b]
                                 

                                 
              ·Upload
                                 


                                 
              [b]Schritt 2[/b]

                                 
              ·Fertig
                                 


                                 
              </font>
                                 </
              td></tr></table>
                             </
              td></tr></table>
                     </
              td></tr></table>
              </
              td>
              </
              tr>
              </
              table>
              </
              div>
              </
              body>
              </
              html
              Und das unzip script macht folgendes:

              PHP-Code:
               <?
              error_reporting(E_ALL);

              function send_sql_kurz($sql)
              {
                global $MySQL_Host, $MySQL_User, $MySQL_Passw, $MySQL_DB, $error;
                if (! $res = mysql_db_query($MySQL_DB, $sql))
                {
                  echo mysql_error();
                  exit;
                }
                return $res;
              }

                  include("../shared_kurz.php");
                  connectkurz();

              move_uploaded_file($_FILES['Datei']['tmp_name'], "Bilder.zip");

               $zip_name = 'Bilder.zip';
               exec('unzip -x '.$zip_name.' -d ./', $var );

              $i=0;

              $pfad="./";
              $verz=opendir ($pfad);
              while ($file=readdir($verz))
              {
                  if (filetype($pfad.$file)!="dir")
                  {
                      $i++;

                      if ($file == 'unzip.php')
                      {}
                      else if ($file == 'Bilder.zip')
                      {}
                      else
                      {
              copy($file,"../../kurz/Bilder/".$tabelle."/".$file);


              $Grafikdatei = $file;

              $Bilddaten = getimagesize($Grafikdatei);

              $OriginalBreite = $Bilddaten[0];
              $OriginalHoehe = $Bilddaten[1];
              $ThumbnailBreite = 85;

              if($OriginalBreite < $ThumbnailBreite)
              {
                  $ThumbnailBreite=$OriginalBreite;
              }

              $Skalierungsfaktor = $OriginalBreite/$ThumbnailBreite;
              $ThumbnailHoehe = intval($OriginalHoehe/$Skalierungsfaktor);


              if($Bilddaten[2] == 2)
              {
                  $Originalgrafik = ImageCreateFromJPEG($Grafikdatei);
                  $Thumbnailgrafik = ImageCreateTrueColor($ThumbnailBreite, $ThumbnailHoehe);
                  ImageCopyResized($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0,
                  $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe);
                  ImageJPEG($Thumbnailgrafik, "TN".$Grafikdatei);

                  copy("TN".$Grafikdatei,"../../kurz/Bilder/".$tabelle."/TN".$Grafikdatei);


                  $lagernummer = substr($file, 0, -4);

              $sql3 = "UPDATE kurz_$tabelle SET activ = '1' WHERE LagNr = '$lagernummer' LIMIT 1";
              $res3 = send_sql_kurz($sql3);

              $kleinesbild = "TN".$Grafikdatei;

              unlink($kleinesbild);
              unlink($file);


              }


                      }
                      }}

              ?>

              Kommentar


              • #22
                @Zergling

                Danke für die Erklärung. Wieder was gelernt.

                Ich hatte leider nie eine PHP Grundkurs 1. Stunde.
                Hätte ich gerne, aber hab ich 1000 Euro fürn PHP Kurs? Leider nich.

                Hab wie gesagt alles was ich in HTML und PHP kann mittels learning by doing
                oder learning by googeln gelernt.

                Da bleibt halt manches Grundwissen auf der Strecke.

                Ich Versuch trotzdem immer alles zu verstehen was ich die Code.
                Auch wenn ich mir Codeschnipsel irgendwo kopiere, versuch ich Sie zu verstehen.
                Aber auf die Weise weiss man eben nur über das bescheid was man schonmal gemacht hat ...

                Wenn ich das jetzt richtig verstanden habe interpretiert der Browser dann nur den erzeugten HTML Code.
                Und warum bekomme ich dann unterschiedliche Ergebnisse in den Browsern?
                Weil der eine etwas genauer oder anderst interpretiert wie der andere?

                Kommentar


                • #23
                  Dazu noch ein Link..:
                  http://tut.php-q.net/kommunikation.html


                  lg
                  Andi

                  Kommentar


                  • #24
                    Was gibt dir folgendes Script aus:
                    unzip.php
                    PHP-Code:
                    <?php
                    error_reporting
                    (E_ALL);

                    $fUserFileName $_FILES['Datei']['name'];
                    $fUserFileTMP $_FILES['Datei']['tmp_name'];

                    $sUserFileDest dirname(__FILE__).'/uploads';

                    echo 
                    "

                    Dateiname: 
                    {$fUserFileName} 
                    Temporärer Name: 
                    {$fUserFileTMP}</p>";

                    echo 
                    "Datei wird nach {$sUserFileDest} verschoben.";

                    var_dump(move_uploaded_file($fUserFileTMP$sUserFileDest));
                    ?>
                    [FONT="Book Antiqua"][I]"Nobody is as smart as everybody" - Kevin Kelly[/I]
                    — The best things in life aren't things[/FONT]

                    Kommentar


                    • #25
                      Zitat von phpdummi
                      Was gibt dir folgendes Script aus:
                      unzip.php
                      PHP-Code:
                      <?php
                      error_reporting
                      (E_ALL);

                      $fUserFileName $_FILES['Datei']['name'];
                      $fUserFileTMP $_FILES['Datei']['tmp_name'];

                      $sUserFileDest dirname(__FILE__).'/uploads';

                      echo 
                      "

                      Dateiname: 
                      {$fUserFileName} 
                      Temporärer Name: 
                      {$fUserFileTMP}</p>";

                      echo 
                      "Datei wird nach {$sUserFileDest} verschoben.";

                      var_dump(move_uploaded_file($fUserFileTMP$sUserFileDest));
                      ?>
                      Firefox gibt aus:

                      PHP-Code:
                      Dateinametest.zip
                      Temporärer Name
                      : /tmp/phpTuHgox
                      Datei wird nach 
                      /homepages/2/d165484323/htdocs/admin/kurz_zip/uploads verschoben.bool(true
                      IEX gibt aus:

                      PHP-Code:
                      Dateinametest.zip 
                      Temporärer Name
                      : /tmp/phpz8HJHf

                      Datei wird nach 
                      /homepages/2/d165484323/htdocs/admin/kurz_zip/uploads verschoben.bool(true

                      Kommentar


                      • #26
                        Code:
                        bool(true)
                        Sowohl im IE als auch im FF... bei beiden werden die Dateien in das angegebene Verzeichnis verschoben,
                        bestätigt schonmal das dies unabhängig vom Browser passiert


                        Befindet sich die hochgeladene Datei auch im Verzeichniss und ist genauso groß
                        wie sie sein soll? Wenn ja, funktioniert ja alles wie es soll.
                        In deinem Originalscript war warscheinlich einfach folgendes falsch:
                        move_uploaded_file($_FILES['Datei']['tmp_name'], "Bilder.zip");
                        move_uploaded_file() erwartet als zweiten Parameter ein Ziel, keinen Dateinamen.

                        Ob der nachfolgende Teil (Entpacken des Zip-Archivs, Bilder verkleinern usw.)
                        funktioniert kann ich nicht sagen, habe ich mir nicht so genau angeguckt.
                        [FONT="Book Antiqua"][I]"Nobody is as smart as everybody" - Kevin Kelly[/I]
                        — The best things in life aren't things[/FONT]

                        Kommentar


                        • #27
                          Mein lieber Herr Gesangsverein ....

                          Ich könnt grad kotzen.

                          Ich hab zwei Tage an diesem Prob gesessen. Und bestimmt 100 Leute damit sowas von genervt (inklusive dir, der du das hier grade liest), und, was wars??

                          Es lag nich am Script.

                          Es lag daran, das ich die Zip Datei nich von meiner Lokalen C: Platte geladen habe, sondern aus dem Netzwerk vom Datenserver ...

                          BZW der Firefox ist dort wo die Datei liegt installiert, der IEX auf nem andren Rechner, also habe ich Sie im IEX aus dem Netzwerk geladen ...

                          Das ich der klassiches Fall von: Mein Drucker geht nich, ich mach seit zwei Stundén rum und schaffs nich ihn zum laufen zu bekommen .... Ist der Stecker in der Steckdose? .... Oh ..

                          Danke trotzdem für euer aller Hilfe. Hab mal wieder viel gelernt.

                          Kommentar


                          • #28

                            Tja, saubere Aktion. Trotzdem dürfte move_uploaded_file($_FILES['Datei']['tmp_name'], "Bilder.zip"); doch eigentlich nicht funktionieren?!
                            [FONT="Book Antiqua"][I]"Nobody is as smart as everybody" - Kevin Kelly[/I]
                            — The best things in life aren't things[/FONT]

                            Kommentar


                            • #29
                              Zitat von phpdummi

                              Tja, saubere Aktion. Trotzdem dürfte move_uploaded_file($_FILES['Datei']['tmp_name'], "Bilder.zip"); doch eigentlich nicht funktionieren?!
                              Sag nicht so böse Sachen, nachher hörts mein Server noch!

                              Wenn das nicht korrekt ist, dann müsste ich zur Sicheheit die Datei nach dem verschieben einfach umbennen, anstatt Sie direkt bei move_upl... umzubennen. Ich mach das lieber mal, nich das es mich irgendwann einholt und ich wieder 2 Tage rätseln muss woran es liegt ...

                              Kommentar

                              Lädt...
                              X