Ankündigung

Einklappen
Keine Ankündigung bisher.

Upload Script bleibt einfach stehen

Einklappen

Neue Werbung 2019

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

  • Upload Script bleibt einfach stehen

    Hallo Leute

    Bin noch neu hier und auch nicht der große Profi was PHP angeht. Daher hoffe ich das ihr ein wenig Rücksicht habt. Ich hab mir auch schon mit Google einen "Wolf" gesucht aber erfolglos.

    Zu meinem Problem:

    Ich habe für unsere Website ein Gallery Upload Script gebastelt. Dieses funktioniert auch bis zu einem gewissen Punkt ganz gut. Ich hab natürlich ganz normal ein Upload Formular mit File Feldern gemacht und lasse die Anzahl der Bilder die hochgeladen werden sollen den User bestimmen und lege sie dann mit einer Variable durch eine Schleife fest. Alles noch kein Problem..

    Nun zum wirklichen Problem - Das Script bleibt beim Upload einfach stehen. Es überträgt immer bis zu einem gewissen Punkt die Bilder und bleibt dann ohne Fehlermeldung einfach stehen. Firefix sagt unten Links einfach nur "Fertig". Das scheint aber immer von Bilder zu Bilder unterschiedlich zu sein. Mal bleibt das Script nach 7 mal nach 10 stehen. Ich weiss nicht wo das Script hier einen Unterschied macht. Möglicherweise die Dateigröße? Ich versuche 19 Bilder hochzuladen die so im durchschnitt 100 KB groß sind. Alle insgesamt sind 1,47 MB groß. Dort bleibt er immer nach dem 7. Bild stehen.

    Meine Vermutung bzw. ein weiteres Problem (?!): Die Bilder die hochladen werden ja durch eine Schleife bearbeitet. Nun muss von jedem Bild ein Thumbnail erstellt werden, ein Vorschau-Bild und das Original Bild soll runtergesetzt werden von z.B. 1024x768 auf 640x480. Noch dazu muss ein Wasserzeichen aus einer PNG Datei auf dem Bild erstellt werden. Das löse ich damit ich die beste Quallität bei den Bildern habe über imagecopyresampled(); was auch ganz gut funktioniert, nur wie gesagt nur bis zu einem bestimmten Bild. Ich denke mal das die Funktion zu Speicher fressend ist?! Das Script läuft auch seeehr langsam ab. Nehm ich die Funktion raus und lade NUR das Bild hoch funktioniert es problemlos und innerhalb von 5 Sekunden.. Das arbeite ich alles in dieser Schleife ab.

    Ich habe schon gelesen das es möglich sein kann das dass memory_limit in der php.ini zu niedrig ist, aber ich hab das schon hoch gesetzt auf 64MB was doch reichen müsste?! Auch die max_execution_time habe ich auf 600 Sek erhöht. Ich habe auch schon gelesen das man mit der Funktion imagedestroy(); die Ressourcen wieder freigeben kann, aber auch das scheint nichts zu helfen.

    Ich bin langsam wirklich verzweifelt Noch ein paar Informationen am Rande: Wir haben das Strato DynamiX Paket mit dem Contruction Update (Sprich MySQL und PHP5 usw glaub ich). Das Hauptverzeichniss wo sich die Scripts befinden sind auch alle auf PHP5 gestellt.

    Ich hoffe ihr habt für mich einen kleinen Tipp wie ich das Problem beheben könnte...

    Vielen Dank schonmal für eure Geduld und eure Hilfe!

    Mfg - SniperWolf

  • #2
    na dann poste mal deinen code, dann kann man den mal analysieren.

    Kommentar


    • #3
      Vielen Dank schonmal für deine Hilfsbereitschaft!

      Hier ist der Code:

      Er ist ein wenig durcheinander aber vielleicht habt ihr ja noch Tipps wie man das besser machen kann...

      [MAN] <?PHP

      // Variablen festlegen aus der Form
      $userid = $_COOKIE['user'];
      $userpw = $_COOKIE['pw'];
      $gallery_desc = $_POST["gallery_desc"];
      $gallery_title = $_POST["gallery_title"];
      $thumb_auswahl = $_POST["radio"];

      // Dateigröße Maximum und Minimum
      $b_min = 10; // 10 Byte Minimum
      $b_max = 3572864 ; // 3,5 MB Maximum

      // Zeit Stamp Variablen festlegen
      $timestamp = time();
      $datum = date("d.m.Y",$timestamp);
      $uhrzeit = date("H:i",$timestamp);


      // Die Gallery ID zufallsgenerieren um später die Gallery zu identifizieren
      $gallery_id = "";
      $pool = "abcdefghijklmnopqrstuvwxyz";
      srand ((double)microtime()*1000000);
      for(
      $index = 0; $index < 5; $index++)
      {
      $gallery_id .= substr($pool,(rand()%(strlen ($pool))), 1);
      }

      // Der Temporäre Ordner wo die Bilder zuerst rein sollen.
      mkdir("gallery/_temp/".$gallery_id."/");
      mkdir("gallery/_temp/".$gallery_id."/big/");
      mkdir("gallery/_temp/".$gallery_id."/small/");
      $ordnername = "gallery/_temp/".$gallery_id."/";

      // Chmod für den Userordner 777 vergeben
      chmod($ordnername, 0777);

      $a = 0;
      // Nun die Dateien Uploaden
      foreach($_FILES as $strFieldName => $arrPostFiles)
      {
      $a = $a + 1;
      $type = $arrPostFiles['type'];
      // Wenn Datei nicht JPEG ist oder keine Datei gewählt wurde als Fehler ausgeben
      if ($type != "image/jpg" and $type != "image/jpeg"){
      $a = $a - 1;
      echo
      "<center><br /><span class=\"grossschrift\"><font color=#FF4848><b>Keine Datei ausgew&auml;hlt oder das Format oder die Gr&ouml;&szlig;e stimmt nicht!</b></font></span><br /></center>"; }
      else {
      $strFileName = $arrPostFiles['name'];
      $strFileTemp = $arrPostFiles['tmp_name'];
      // Hier das Bild dann in den Temporären Ordner kopieren
      copy ($strFileTemp, $ordnername."big/bild".$a.".jpg");
      $Grafikdatei = $ordnername."big/bild".$a.".jpg";

      $Bilddaten = getimagesize($Grafikdatei);
      $OriginalBreite = $Bilddaten[0];
      $OriginalHoehe = $Bilddaten[1];

      // Hier das Bild mit Seitenverhältniss verkleinern auf 640xXXX
      if($OriginalBreite > $OriginalHoehe) {

      $Bilddaten = getimagesize($Grafikdatei);
      $OriginalBreite = $Bilddaten[0];
      $OriginalHoehe = $Bilddaten[1];
      $ThumbnailBreite = 640;

      // Den Thumbnail auch mit Seitenverhätniss verkleinern
      if($OriginalBreite < $ThumbnailBreite)
      {
      $ThumbnailBreite=$OriginalBreite;
      }

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

      }

      else {


      $ThumbnailHoehe = 640;

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


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

      }

      // Hier die Grafik noch mit einem Wasserzeichen versehen...
      $Originalgrafik = ImageCreateFromJPEG($Grafikdatei);
      $Thumbnailgrafik = ImageCreateTrueColor($ThumbnailBreite, $ThumbnailHoehe);
      imagecopyresampled($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe);
      ImageJPEG($Thumbnailgrafik, $ordnername."big/bild".$a.".jpg");

      $Grafik = ImageCreateFromJPEG($ordnername."big/bild".$a.".jpg");
      $Wasserzeichen = ImageCreateFromPNG("images/watermark.png");
      imagecopy($Grafik, $Wasserzeichen, imagesx($Grafik)-imagesx($Wasserzeichen), imagesy($Grafik)-imagesy($Wasserzeichen), 0, 0, imagesx($Wasserzeichen), imagesy($Wasserzeichen));
      imagejpeg($Grafik, $ordnername."big/bild".$a.".jpg");

      $Bilddaten = getimagesize($Grafikdatei);
      $OriginalBreite = $Bilddaten[0];
      $OriginalHoehe = $Bilddaten[1];
      $ThumbnailBreite = 128;

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

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

      $Originalgrafik = imagecreatefromjpeg($Grafikdatei);
      $Thumbnailgrafik = imagecreatetruecolor($ThumbnailBreite, $ThumbnailHoehe);
      imagecopyresampled($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe);
      imagejpeg($Thumbnailgrafik, $ordnername."small/bild".$a.".jpg");

      // Meldung geben das die Datei erfolgreich hochgeladen wurde
      echo "<center><br /><span class=\"grossschrift\"><font color=#33FF33><b>Die Datei $strFileName wurde erfolgreich hochgeladen!</b></font></span><br /></center>";
      }
      }

      // Ein Vorschau Bild erzeugen
      $Grafikdatei = $ordnername."big/bild".$thumb_auswahl.".jpg";
      if (
      file_exists($Grafikdatei)) { echo ""; }
      else {
      $Grafikdatei = $ordnername."big/bild1.jpg"; }
      $Bilddaten = @getimagesize($Grafikdatei);

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

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

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

      $Originalgrafik = imagecreatefromjpeg($Grafikdatei);
      $Thumbnailgrafik = imagecreatetruecolor($ThumbnailBreite, $ThumbnailHoehe);
      imagecopyresampled($Thumbnailgrafik, $Originalgrafik, 0, 0, 0, 0, $ThumbnailBreite, $ThumbnailHoehe, $OriginalBreite, $OriginalHoehe);
      imagejpeg($Thumbnailgrafik, $ordnername."preview.jpg");

      // Nun soll zur Sicherheit gezählt werden ob sich auch die Dateien im Ordner befinden... Wenn nicht Weiterleiten über den Meta Tag und mit die den code abbrechen
      $anzahl_bilder2 = count(glob($ordnername."/big/*jpg"));
      if(
      $anzahl_bilder2 <= "0") { echo "<meta http-equiv='refresh' content='sekunden_bis_umleitung_erfolgt;URL=profil e_gallery_create_error.php?error=nopics'>"; die; }

      // Ansonsten nun den richtigen Ordner erstellen und die dateien dort hin kopieren
      mkdir("gallery/".$gallery_id."/");
      mkdir("gallery/".$gallery_id."/big/");
      mkdir("gallery/".$gallery_id."/small/");
      // Chmod f&uuml;r den Userordner 777 vergeben
      chmod("gallery/".$gallery_id."/", 0777);

      copy($ordnername."preview.jpg", "gallery/".$gallery_id."/preview.jpg");

      $Pfad = $ordnername."/big/";
      if(
      $Verzeichniszeiger = opendir($Pfad)) {
      while(
      $Datei = readdir($Verzeichniszeiger)) {
      if(
      $Pfad.$Datei != "." && $Datei != "..") {

      @
      copy($Pfad.$Datei, "gallery/".$gallery_id."/big/".$Datei);

      }
      }
      closedir($Verzeichniszeiger);
      }

      $Pfad = $ordnername."/small/";
      if(
      $Verzeichniszeiger = opendir($Pfad)) {
      while(
      $Datei = readdir($Verzeichniszeiger)) {
      if(
      $Pfad.$Datei != "." && $Datei != "..") {

      @
      copy($Pfad.$Datei, "gallery/".$gallery_id."/small/".$Datei);

      }
      }
      closedir($Verzeichniszeiger);
      }

      // UNd nun noch ein paar Daten in die Datenbank eintragen
      $abfrage1 = "SELECT user_id, user_passwort, user_nickname FROM users WHERE user_id = '$userid'";
      $ergebniss1 = mysql_query($abfrage1);

      while (
      $row = mysql_fetch_array($ergebniss1, MYSQL_NUM)) {

      // Die Userdaten Updaten
      mysql_query("INSERT INTO gallery (user_id, user_nick, gallery_id, gallery_title, gallery_desc, gallery_datum, anzahl_bilder) VALUES ('$userid', '$row[2]', '$gallery_id', '$gallery_title', '$gallery_desc', '$datum', '$anzahl_bilder')");

      }

      ?>
      [/MAN]

      Kommentar


      • #4
        Hast den falschen Button erwischt. Zukünftig bitte ohne Direktformatierung...

        PHP-Code:
        <?PHP

        // Variablen festlegen aus der Form
        $userid $_COOKIE['user'];
        $userpw $_COOKIE['pw'];
        $gallery_desc $_POST["gallery_desc"];
        $gallery_title $_POST["gallery_title"];
        $thumb_auswahl $_POST["radio"];

        // Dateigröße Maximum und Minimum
        $b_min 10// 10 Byte Minimum
        $b_max 3572864 // 3,5 MB Maximum

        // Zeit Stamp Variablen festlegen
        $timestamp time();
        $datum date("d.m.Y",$timestamp);
        $uhrzeit date("H:i",$timestamp);


        // Die Gallery ID zufallsgenerieren um später die Gallery zu identifizieren
        $gallery_id "";
        $pool "abcdefghijklmnopqrstuvwxyz";
        srand ((double)microtime()*1000000);
        for(
        $index 0$index 5$index++)
        {
        $gallery_id .= substr($pool,(rand()%(strlen ($pool))), 1);
        }

        // Der Temporäre Ordner wo die Bilder zuerst rein sollen.
        mkdir("gallery/_temp/".$gallery_id."/");
        mkdir("gallery/_temp/".$gallery_id."/big/");
        mkdir("gallery/_temp/".$gallery_id."/small/");
        $ordnername "gallery/_temp/".$gallery_id."/";

        // Chmod für den Userordner 777 vergeben
        chmod($ordnername0777);

        $a 0;
        // Nun die Dateien Uploaden
        foreach($_FILES as $strFieldName => $arrPostFiles)
        {
        $a $a 1;
        $type $arrPostFiles['type'];
        // Wenn Datei nicht JPEG ist oder keine Datei gewählt wurde als Fehler ausgeben
        if ($type != "image/jpg" and $type != "image/jpeg"){
        $a $a 1;
        echo 
        "<center><br /><span class=\"grossschrift\"><font color=#FF4848><b>Keine Datei ausgew&auml;hlt oder das Format oder die Gr&ouml;&szlig;e stimmt nicht!</b></font></span><br /></center>"; }
        else {
        $strFileName $arrPostFiles['name'];
        $strFileTemp $arrPostFiles['tmp_name'];
        // Hier das Bild dann in den Temporären Ordner kopieren
        copy ($strFileTemp$ordnername."big/bild".$a.".jpg");
        $Grafikdatei $ordnername."big/bild".$a.".jpg";

        $Bilddaten getimagesize($Grafikdatei);
        $OriginalBreite $Bilddaten[0];
        $OriginalHoehe $Bilddaten[1];

        // Hier das Bild mit Seitenverhältniss verkleinern auf 640xXXX
        if($OriginalBreite $OriginalHoehe) {

        $Bilddaten getimagesize($Grafikdatei);
        $OriginalBreite $Bilddaten[0];
        $OriginalHoehe $Bilddaten[1];
        $ThumbnailBreite 640;

        // Den Thumbnail auch mit Seitenverhätniss verkleinern
        if($OriginalBreite $ThumbnailBreite)
        {
        $ThumbnailBreite=$OriginalBreite;
        }

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

        }

        else {


        $ThumbnailHoehe 640;

        if(
        $OriginalHoehe $ThumbnailHoehe)
        {
        $ThumbnailBreite=$OriginalBreite;
        }


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

        }

        // Hier die Grafik noch mit einem Wasserzeichen versehen...
        $Originalgrafik ImageCreateFromJPEG($Grafikdatei);
        $Thumbnailgrafik ImageCreateTrueColor($ThumbnailBreite$ThumbnailHoehe);
        imagecopyresampled($Thumbnailgrafik$Originalgrafik0000$ThumbnailBreite$ThumbnailHoehe$OriginalBreite$OriginalHoehe);
        ImageJPEG($Thumbnailgrafik$ordnername."big/bild".$a.".jpg");

        $Grafik ImageCreateFromJPEG($ordnername."big/bild".$a.".jpg");
        $Wasserzeichen ImageCreateFromPNG("http://www.php.de/images/watermark.png");
        imagecopy($Grafik$Wasserzeichenimagesx($Grafik)-imagesx($Wasserzeichen), imagesy($Grafik)-imagesy($Wasserzeichen), 00imagesx($Wasserzeichen), imagesy($Wasserzeichen));
        imagejpeg($Grafik$ordnername."big/bild".$a.".jpg");

        $Bilddaten getimagesize($Grafikdatei);
        $OriginalBreite $Bilddaten[0];
        $OriginalHoehe $Bilddaten[1];
        $ThumbnailBreite 128;

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

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

        $Originalgrafik imagecreatefromjpeg($Grafikdatei);
        $Thumbnailgrafik imagecreatetruecolor($ThumbnailBreite$ThumbnailHoehe);
        imagecopyresampled($Thumbnailgrafik$Originalgrafik0000$ThumbnailBreite$ThumbnailHoehe$OriginalBreite$OriginalHoehe);
        imagejpeg($Thumbnailgrafik$ordnername."small/bild".$a.".jpg");

        // Meldung geben das die Datei erfolgreich hochgeladen wurde
        echo "<center><br /><span class=\"grossschrift\"><font color=#33FF33><b>Die Datei $strFileName wurde erfolgreich hochgeladen!</b></font></span><br /></center>";
        }
        }

        // Ein Vorschau Bild erzeugen
        $Grafikdatei $ordnername."big/bild".$thumb_auswahl.".jpg";
        if (
        file_exists($Grafikdatei)) { echo ""; }
        else { 
        $Grafikdatei $ordnername."big/bild1.jpg"; }
        $Bilddaten = @getimagesize($Grafikdatei);

        $OriginalBreite $Bilddaten[0];
        $OriginalHoehe $Bilddaten[1];
        $ThumbnailBreite 150;

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

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

        $Originalgrafik imagecreatefromjpeg($Grafikdatei);
        $Thumbnailgrafik imagecreatetruecolor($ThumbnailBreite$ThumbnailHoehe);
        imagecopyresampled($Thumbnailgrafik$Originalgrafik0000$ThumbnailBreite$ThumbnailHoehe$OriginalBreite$OriginalHoehe);
        imagejpeg($Thumbnailgrafik$ordnername."preview.jpg");

        // Nun soll zur Sicherheit gezählt werden ob sich auch die Dateien im Ordner befinden... Wenn nicht Weiterleiten über den Meta Tag und mit die den code abbrechen
        $anzahl_bilder2 count(glob($ordnername."/big/*jpg"));
        if(
        $anzahl_bilder2 <= "0") { echo "<meta http-equiv='refresh' content='sekunden_bis_umleitung_erfolgt;URL=profil e_gallery_create_error.php?error=nopics'>"; die; }

        // Ansonsten nun den richtigen Ordner erstellen und die dateien dort hin kopieren
        mkdir("gallery/".$gallery_id."/");
        mkdir("gallery/".$gallery_id."/big/");
        mkdir("gallery/".$gallery_id."/small/");
        // Chmod f&uuml;r den Userordner 777 vergeben
        chmod("gallery/".$gallery_id."/"0777);

        copy($ordnername."preview.jpg""gallery/".$gallery_id."/preview.jpg");

        $Pfad $ordnername."/big/";
        if(
        $Verzeichniszeiger opendir($Pfad)) {
        while(
        $Datei readdir($Verzeichniszeiger)) {
        if(
        $Pfad.$Datei != "." && $Datei != "..") {

        @
        copy($Pfad.$Datei"gallery/".$gallery_id."/big/".$Datei);

        }
        }
        closedir($Verzeichniszeiger);
        }

        $Pfad $ordnername."/small/";
        if(
        $Verzeichniszeiger opendir($Pfad)) {
        while(
        $Datei readdir($Verzeichniszeiger)) {
        if(
        $Pfad.$Datei != "." && $Datei != "..") {

        @
        copy($Pfad.$Datei"gallery/".$gallery_id."/small/".$Datei);

        }
        }
        closedir($Verzeichniszeiger);
        }

        // UNd nun noch ein paar Daten in die Datenbank eintragen
        $abfrage1 "SELECT user_id, user_passwort, user_nickname FROM users WHERE user_id = '$userid'";
        $ergebniss1 mysql_query($abfrage1);

        while (
        $row mysql_fetch_array($ergebniss1MYSQL_NUM)) {

        // Die Userdaten Updaten
        mysql_query("INSERT INTO gallery (user_id, user_nick, gallery_id, gallery_title, gallery_desc, gallery_datum, anzahl_bilder) VALUES ('$userid', '$row[2]', '$gallery_id', '$gallery_title', '$gallery_desc', '$datum', '$anzahl_bilder')");

        }

        ?> "> <?PHP

        // Variablen festlegen aus der Form
        $userid $_COOKIE['user'];
        $userpw $_COOKIE['pw'];
        $gallery_desc $_POST["gallery_desc"];
        $gallery_title $_POST["gallery_title"];
        $thumb_auswahl $_POST["radio"];

        // Dateigröße Maximum und Minimum
        $b_min 10// 10 Byte Minimum
        $b_max 3572864 // 3,5 MB Maximum

        // Zeit Stamp Variablen festlegen
        $timestamp time();
        $datum date("d.m.Y",$timestamp);
        $uhrzeit date("H:i",$timestamp);


        // Die Gallery ID zufallsgenerieren um später die Gallery zu identifizieren
        $gallery_id "";
        $pool "abcdefghijklmnopqrstuvwxyz";
        srand ((double)microtime()*1000000);
        for(
        $index 0$index 5$index++)
        {
        $gallery_id .= substr($pool,(rand()%(strlen ($pool))), 1);
        }

        // Der Temporäre Ordner wo die Bilder zuerst rein sollen.
        mkdir("gallery/_temp/".$gallery_id."/");
        mkdir("gallery/_temp/".$gallery_id."/big/");
        mkdir("gallery/_temp/".$gallery_id."/small/");
        $ordnername "gallery/_temp/".$gallery_id."/";

        // Chmod für den Userordner 777 vergeben
        chmod($ordnername0777);

        $a 0;
        // Nun die Dateien Uploaden
        foreach($_FILES as $strFieldName => $arrPostFiles)
        {
        $a $a 1;
        $type $arrPostFiles['type'];
        // Wenn Datei nicht JPEG ist oder keine Datei gewählt wurde als Fehler ausgeben
        if ($type != "image/jpg" and $type != "image/jpeg"){
        $a $a 1;
        echo 
        "<center><br /><span class=\"grossschrift\"><font color=#FF4848><b>Keine Datei ausgew&auml;hlt oder das Format oder die Gr&ouml;&szlig;e stimmt nicht!</b></font></span><br /></center>"; }
        else {
        $strFileName $arrPostFiles['name'];
        $strFileTemp $arrPostFiles['tmp_name'];
        // Hier das Bild dann in den Temporären Ordner kopieren
        copy ($strFileTemp$ordnername."big/bild".$a.".jpg");
        $Grafikdatei $ordnername."big/bild".$a.".jpg";

        $Bilddaten getimagesize($Grafikdatei);
        $OriginalBreite $Bilddaten[0];
        $OriginalHoehe $Bilddaten[1];

        // Hier das Bild mit Seitenverhältniss verkleinern auf 640xXXX
        if($OriginalBreite $OriginalHoehe) {

        $Bilddaten getimagesize($Grafikdatei);
        $OriginalBreite $Bilddaten[0];
        $OriginalHoehe $Bilddaten[1];
        $ThumbnailBreite 640;

        // Den Thumbnail auch mit Seitenverhätniss verkleinern
        if($OriginalBreite $ThumbnailBreite)
        {
        $ThumbnailBreite=$OriginalBreite;
        }

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

        }

        else {


        $ThumbnailHoehe 640;

        if(
        $OriginalHoehe $ThumbnailHoehe)
        {
        $ThumbnailBreite=$OriginalBreite;
        }


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

        }

        // Hier die Grafik noch mit einem Wasserzeichen versehen...
        $Originalgrafik ImageCreateFromJPEG($Grafikdatei);
        $Thumbnailgrafik ImageCreateTrueColor($ThumbnailBreite$ThumbnailHoehe);
        imagecopyresampled($Thumbnailgrafik$Originalgrafik0000$ThumbnailBreite$ThumbnailHoehe$OriginalBreite$OriginalHoehe);
        ImageJPEG($Thumbnailgrafik$ordnername."big/bild".$a.".jpg");

        $Grafik ImageCreateFromJPEG($ordnername."big/bild".$a.".jpg");
        $Wasserzeichen ImageCreateFromPNG("http://www.php.de/images/watermark.png");
        imagecopy($Grafik$Wasserzeichenimagesx($Grafik)-imagesx($Wasserzeichen), imagesy($Grafik)-imagesy($Wasserzeichen), 00imagesx($Wasserzeichen), imagesy($Wasserzeichen));
        imagejpeg($Grafik$ordnername."big/bild".$a.".jpg");

        $Bilddaten getimagesize($Grafikdatei);
        $OriginalBreite $Bilddaten[0];
        $OriginalHoehe $Bilddaten[1];
        $ThumbnailBreite 128;

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

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

        $Originalgrafik imagecreatefromjpeg($Grafikdatei);
        $Thumbnailgrafik imagecreatetruecolor($ThumbnailBreite$ThumbnailHoehe);
        imagecopyresampled($Thumbnailgrafik$Originalgrafik0000$ThumbnailBreite$ThumbnailHoehe$OriginalBreite$OriginalHoehe);
        imagejpeg($Thumbnailgrafik$ordnername."small/bild".$a.".jpg");

        // Meldung geben das die Datei erfolgreich hochgeladen wurde
        echo "<center><br /><span class=\"grossschrift\"><font color=#33FF33><b>Die Datei $strFileName wurde erfolgreich hochgeladen!</b></font></span><br /></center>";
        }
        }

        // Ein Vorschau Bild erzeugen
        $Grafikdatei $ordnername."big/bild".$thumb_auswahl.".jpg";
        if (
        file_exists($Grafikdatei)) { echo ""; }
        else { 
        $Grafikdatei $ordnername."big/bild1.jpg"; }
        $Bilddaten = @getimagesize($Grafikdatei);

        $OriginalBreite $Bilddaten[0];
        $OriginalHoehe $Bilddaten[1];
        $ThumbnailBreite 150;

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

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

        $Originalgrafik imagecreatefromjpeg($Grafikdatei);
        $Thumbnailgrafik imagecreatetruecolor($ThumbnailBreite$ThumbnailHoehe);
        imagecopyresampled($Thumbnailgrafik$Originalgrafik0000$ThumbnailBreite$ThumbnailHoehe$OriginalBreite$OriginalHoehe);
        imagejpeg($Thumbnailgrafik$ordnername."preview.jpg");

        // Nun soll zur Sicherheit gezählt werden ob sich auch die Dateien im Ordner befinden... Wenn nicht Weiterleiten über den Meta Tag und mit die den code abbrechen
        $anzahl_bilder2 count(glob($ordnername."/big/*jpg"));
        if(
        $anzahl_bilder2 <= "0") { echo "<meta http-equiv='refresh' content='sekunden_bis_umleitung_erfolgt;URL=profil e_gallery_create_error.php?error=nopics'>"; die; }

        // Ansonsten nun den richtigen Ordner erstellen und die dateien dort hin kopieren
        mkdir("gallery/".$gallery_id."/");
        mkdir("gallery/".$gallery_id."/big/");
        mkdir("gallery/".$gallery_id."/small/");
        // Chmod f&uuml;r den Userordner 777 vergeben
        chmod("gallery/".$gallery_id."/"0777);

        copy($ordnername."preview.jpg""gallery/".$gallery_id."/preview.jpg");

        $Pfad $ordnername."/big/";
        if(
        $Verzeichniszeiger opendir($Pfad)) {
        while(
        $Datei readdir($Verzeichniszeiger)) {
        if(
        $Pfad.$Datei != "." && $Datei != "..") {

        @
        copy($Pfad.$Datei"gallery/".$gallery_id."/big/".$Datei);

        }
        }
        closedir($Verzeichniszeiger);
        }

        $Pfad $ordnername."/small/";
        if(
        $Verzeichniszeiger opendir($Pfad)) {
        while(
        $Datei readdir($Verzeichniszeiger)) {
        if(
        $Pfad.$Datei != "." && $Datei != "..") {

        @
        copy($Pfad.$Datei"gallery/".$gallery_id."/small/".$Datei);

        }
        }
        closedir($Verzeichniszeiger);
        }

        // UNd nun noch ein paar Daten in die Datenbank eintragen
        $abfrage1 "SELECT user_id, user_passwort, user_nickname FROM users WHERE user_id = '$userid'";
        $ergebniss1 mysql_query($abfrage1);

        while (
        $row mysql_fetch_array($ergebniss1MYSQL_NUM)) {

        // Die Userdaten Updaten
        mysql_query("INSERT INTO gallery (user_id, user_nick, gallery_id, gallery_title, gallery_desc, gallery_datum, anzahl_bilder) VALUES ('$userid', '$row[2]', '$gallery_id', '$gallery_title', '$gallery_desc', '$datum', '$anzahl_bilder')");

        }

        ?>
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          Das ist der längste Link den ich je in meinem Leben gesehen habe^^.

          Kommentar

          Lädt...
          X