hinweis fenster für user wenn bilder auf dem server generiert werden ?

Dieses Thema im Forum "Serverseitige Programmierung" wurde erstellt von mischalemaus, 21. April 2012.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. mischalemaus

    mischalemaus Inaktiv

    Hallo,

    ich betreibe einen bilderhoster, wo der benutzer bilder hochladen kann. der benutzer hat die möglichkeit 20 bilder gleichzeitig hochzuladen (das ganze geschiet via plupload)

    die bilder werden dann alle in einen tmp ordner hochgeladen und in der Datenbank eingetragen mit ID und Bildnamen. Hier wird zusätzlich ein "resized = 0 gesezt"

    solbald der user die seite nach dem upload aktualisiert wird per query alles ausgewählt welche einträge in der DB resized = 0 haben (natürlich nur die, die dem user auch gehören)

    nun werden die bilder generiert, mit wasserzeichen versehen und anschließend auf resized = 1 gesezt (fertig)

    das kann schonmal 1 - 2 minuten dauern wenn der user 20 bilder gleichzeitig hochgeladen hat, dafür habe ich das timeout in der php.ini schon auf 180 (3min) gesezt.

    gibt es eine möglichkeit das ich dem user hier ein kleines fenster anzeige wie zb. "Bitte warten Sie, ihre Bilder werden generiert"


    Hat jemand eine idee ?
     
  2. speicherbox

    speicherbox Inaktiv

    Moin,

    sowas könntest du mit JavaScript erzeugen,
    Du mußt nur einen Startwert setzen und wenn dein PHP-Script fertig ist, dem JavaScript mitteilen, das es fertig ist.
     
  3. mischalemaus

    mischalemaus Inaktiv

    hättest du evtl ein beispiel ?
     
  4. speicherbox

    speicherbox Inaktiv

    Moin,

    jetzt nicht direkt zur Hand,
    dazu müßte ich an den PC und bin derzeit nicht im Büro, sry.

    Aber die meisten Ajax Datei-Uploads haben so etwas drin.
     
  5. mischalemaus

    mischalemaus Inaktiv

    Hallo,

    schade... ich suche jetzt schon 2 tage bei google nach lösungen...

    habe interessantes finden können:

    http://fabi.me/scripts-codes/php-fortschrittsbalken-ladebalken/
    http://www.bongard.net/blog/2007/04/18/php-progressbar_fortschrittsbalken/
    http://d4nza.de/blog/tutorials/jquery-ui-ajax-animierter-ladebalken

    und habe es leider nicht hinbekommen es in mein script zu inengrieren...

    ich poste einfach mal ein script von mir, welches zu aller erst ausgeführt wird (bevor die page überhaupt erst geladen wird ....)

    PHP:
    <?php
    include('resize.php'); // SimpleImage

    $qry mysql_query("SELECT * FROM uploads WHERE resized='0' AND userid='".mysql_real_escape_string$cook)."'") or die (mysql_error());
    while(
    $row mysql_fetch_array($qry)) {

    $imgname $row["pic"];

    list(
    $width$height$imgtype) = getimagesize($nonpublic.$imgname);
          
          if( 
    $imgtype == ) {
             
    $im imagecreatefromjpeg($nonpublic.$imgname);
          } elseif( 
    $imgtype == ) {
             
    $im imagecreatefromgif($nonpublic.$imgname);
          } elseif( 
    $imgtype == ) {
             
    $im imagecreatefrompng($nonpublic.$imgname);
          }

    $status "SELECT aktiv FROM user WHERE id = '".mysql_real_escape_string$cook)."'" or die (mysql_error());
    $premium mysql_query($status) or die (mysql_error());
    $row mysql_fetch_array($premium);

    if(
    $row["aktiv"]>="3"){        // prüfen ob premium mitglied, wenn ja dann kein watermark

    // Bild einfügen
    imagecopy($im$imgname0000$width$height);

    }

    else {                            
    // wenn kein premium mitglied, dann watermark setzen

    include ("watermark.php");
     
    // Bild einfügen
    imagecopy($im$imgname0000$width$height);
     
    // Wasserzeichen einfügen
    imagecopy($im$imgzeichen0000imagesx($imgzeichen), imagesy($imgzeichen));

    }


    // Using imagepng() results in clearer text compared with imagejpeg()
    imagejpeg($im'uploads/'.$imgname100);
    imagedestroy($im);

    // hier wird das bild um 1% verkleinert
       
    $image = new SimpleImage();
       
    $image->load('uploads/'.$imgname);
       
    $image->scale($config["original_Pic"]);
       
    $image->save('uploads/'.$imgname);

    // thumbnails erstellen      
    if(!empty($config["thumb1"])) {
       
    $image = new SimpleImage();
       
    $image->load('uploads/'.$imgname);
       
    $image->scale($config["thumb1"]);
       
    $image->save('uploads/thumb1_'.$imgname);
    }

    if(!empty(
    $config["thumb2"])) {
       
    $image = new SimpleImage();
       
    $image->load('uploads/'.$imgname);
       
    $image->scale($config["thumb2"]);
       
    $image->save('uploads/thumb2_'.$imgname);
    }
    if(!empty(
    $config["thumb3"])) {
       
    $image = new SimpleImage();
       
    $image->load('uploads/'.$imgname);
       
    $image->scale($config["thumb3"]);
       
    $image->save('uploads/thumb3_'.$imgname);
    }
    if(!empty(
    $config["thumb4"])) {
       
    $image = new SimpleImage();
       
    $image->load('uploads/'.$imgname);
       
    $image->scale($config["thumb4"]);
       
    $image->save('uploads/thumb4_'.$imgname);
    }
    if(!empty(
    $config["thumb5"])) {
       
    $image = new SimpleImage();
       
    $image->load('uploads/'.$imgname);
       
    $image->scale($config["thumb5"]);
       
    $image->save('uploads/thumb5_'.$imgname);
    }

        
    mysql_query("UPDATE uploads SET resized=1 WHERE pic='".$imgname."'");
    }
    wie man sieht werden hier alle einträge aus der DB geholt, welche resized = 0 entsprechen. für diese werden dann thumbnails erstellt und die watermarks versehen.

    würde mich freuen wenn jemand so nett wäre mir dabei zu helfen wie sich so etwas umsetzen lässt.
     
Status des Themas:
Es sind keine weiteren Antworten möglich.

Diese Seite empfehlen