tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
345
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Cyber-GFX Cyber-GFX ist offline Mitglied Silber
    Registriert seit
    Apr 2007
    Ort
    Tübingen
    Beiträge
    51
    Hallo Leute, hab ein Problem mit meinem Upload Script, wenn ich eine Gif Datei
    Hochladen möchte, Generiert er keine Thumbnail!

    Der Code:

    PHP-Code:
    <? 
    if($action){ 

       
    // -------------------------------- 
       // Diverse Variablen 
       // -------------------------------- 

    $path "img/"// Url zum Speicherordner der großen Bilder 
    $thumb_path "img/thumbs/"// Url zum Speicherordner der Vorschaubilder 
    $config_thumb_width "200"// Bildbreite max. bei Vorschaubild 
    $config_thumb_height "200"// Bildhöhe max. bei Vorschaubild 
    $resizequality "70"// Bildkompressionsrate 0-100 
    $deindomain "http://cyber-gfx.de/upload-script/";  // unsere Domain 

    if ($HTTP_POST_FILES['userfile']['tmp_name']<> 'none'
       { 

       
    // -------------------------------- 
       // Get File Upload Info 
       // -------------------------------- 

             
    $filename $HTTP_POST_FILES['pic_file']['name']; 
             
    $filetype $HTTP_POST_FILES['pic_file']['type']; 
             
    $filetmp $HTTP_POST_FILES['pic_file']['tmp_name']; 

       
    // -------------------------------- 
       // Check file type 
       // -------------------------------- 

       
    switch ($filetype
       { 
          case 
    'image/jpeg'
          case 
    'image/jpg'
          case 
    'image/pjpeg'

             
    $pic_filetype '.jpg'
             break; 

          case 
    'image/png'
          case 
    'image/x-png'

             
    $pic_filetype '.png'
             break; 

          case 
    'image/gif'

             
    $pic_filetype '.gif'
             break;
              
          default: 
             die(
    "Falsches Dateiformat. Nur JPEG, GIF oder PNG erlaubt!"); 
       } 

       
    // -------------------------------- 
       // Generate filename 
       // -------------------------------- 

       
    srand((double)microtime()*1000000);   // for older than version 4.2.0 of PHP 

       
    do 
       { 
          
    $pic_filename md5(uniqid(rand())) . $pic_filetype
       } 
       while( 
    file_exists($path $pic_filename) ); 


       
    // -------------------------------- 
       // Move this file to upload directory 
       // -------------------------------- 

       
    $ini_val = ( @phpversion() >= '4.0.0' ) ? 'ini_get' 'get_cfg_var'

       if ( @
    $ini_val('open_basedir') != '' 
       { 
          if ( @
    phpversion() < '4.0.3' 
          { 
             die(
    "open_basedir is set and your PHP version does not allow move_uploaded_file<br /><br />Please contact your server admin"); 
          } 

          
    $move_file 'move_uploaded_file'
       } 
       else 
       { 
          
    $move_file 'copy'
       } 

       
    $move_file($filetmp$path $pic_filename); 

       @
    chmod($path $pic_filename0777); 


       
    // -------------------------------- 
       // Well, it's an image. Check its image size 
       // -------------------------------- 

       
    $pic_size getimagesize($path $pic_filename); 

       
    $pic_width $pic_size[0]; 
       
    $pic_height $pic_size[1]; 


       
    // -------------------------------- 
       // This image is okay, we can cache its thumbnail now 
       // -------------------------------- 

       
    if($pic_filetype '.gif'
       { 
          
    $gd_errored FALSE

          switch (
    $pic_filetype
          { 
             case 
    '.jpg'
                
    $read_function 'imagecreatefromjpeg'
                break; 
             case 
    '.png'
                
    $read_function 'imagecreatefrompng'
                break; 
             case 
    '.gif'
                
    $read_function 'imagecreatefrompng'
                break;            
          } 

          
    $src = @$read_function($path  $pic_filename); 

          if (!
    $src
          { 
             
    $gd_errored TRUE
             
    $pic_thumbnail ''
          } 
          else if( (
    $pic_width $config_thumb_width) or ($pic_height $config_thumb_height) ) 
          { 
             
    // Resize it 
             
    if ($pic_width $pic_height
             { 
                
    $thumbnail_width $config_thumb_width
                
    $thumbnail_height $config_thumb_width * ($pic_height/$pic_width); 
             } 
             else 
             { 
                
    $thumbnail_height $config_thumb_height
                
    $thumbnail_width $config_thumb_height * ($pic_width/$pic_height); 
             } 

             
    $thumbnail = @imagecreatetruecolor($thumbnail_width$thumbnail_height); 

             
    $resize_function 'imagecopyresampled'

             @
    $resize_function($thumbnail$src0000$thumbnail_width$thumbnail_height$pic_width$pic_height); 
          } 
          else 
          { 
             
    $thumbnail $src
          } 

          if (!
    $gd_errored
          { 
             
    $pic_thumbnail $pic_filename

             
    // Write to disk 
             
    switch ($pic_filetype
             { 
                case 
    '.jpg'
                   @
    imagejpeg($thumbnail$thumb_path $pic_thumbnail$resizequality); 
                   break; 
                case 
    '.png'
                   @
    imagepng($thumbnail$thumb_path $pic_thumbnail); 
                   break;
                case 
    '.gif'
                   @
    imagepng($thumbnail$thumb_path $pic_thumbnail); 
                   break;    
             } 

             @
    chmod($thumb_path $pic_thumbnail0777); 

          } 
    // End IF $gd_errored 

       
    // End Thumbnail Cache 


      // -------------------------------------- 
      // OK lets resize the original picture 
      // -------------------------------------- 

      
    if($pic_filetype '.gif'
      { 
        
    $gd_errored FALSE

        switch (
    $pic_filetype
        { 
          case 
    '.jpg'
            
    $read_function 'imagecreatefromjpeg'
            break; 
          case 
    '.png'
            
    $read_function 'imagecreatefrompng'
            break; 
          case 
    '.gif'
            
    $read_function 'imagecreatefrompng'
            break; 
        } 

        
    $src = @$read_function($path  $pic_filename); 

        if (!
    $src
        { 
          
    $gd_errored TRUE
          
    $pic_resize ''
        } 
        else if( (
    $pic_width $config_width) or ($pic_height $config_height) ) 
        { 

          
    // Write to disk 
          
    switch ($pic_filetype
          { 
            case 
    '.jpg'
              @
    imagejpeg($resize$path $pic_resize$resizequality); 
              break; 
            case 
    '.png'
              @
    imagepng($resize$path $pic_resize); 
              break; 
            case 
    '.gif'
              @
    imagepng($resize$path $pic_resize); 
              break;   
          } 

          @
    chmod($path $pic_resize0777); 

        } 
    // End IF $gd_errored 

      
    // End Picture Resize
      
    echo "<b>Vorschau:</b><br>"
    echo 
    "<a href=\"".$deindomain.$path.$pic_filename."\" target=\"_blank\"><img src=\"".$deindomain.$thumb_path.$pic_filename."\" border=0></a><br><br>";

    echo 
    "<b>Direkter Link:</b><br>"
    echo 
    "".$deindomain.$path.$pic_filename."<br><br>";
      
    echo 
    "<b>BB Code (1):</b><br>"
    echo 
    "[IMG]".$deindomain.$path.$pic_filename."[IMG]<br><br>";
      
    echo 
    "<b>BB Code (2):</b><br>"
    echo 
    "[IMG]".$deindomain.$thumb_path.$pic_filename."[IMG]<br><br>";

    echo 
    "<b>Thumbnail für Webseiten:</b><br>"



       } 
    } else { 

    ?>
    Link zur seite: http://upload.cyber-gfx.de/index.php

    Kann mir da jemand Helfen?

    MFG
     

  2. #2
    Thorium Thorium ist offline Rookie
    Registriert seit
    Feb 2004
    Beiträge
    5
    Hallo,

    ich glaub, Dein Fehler liegt in der Thumbnail - Funktion bei:

    PHP-Code:
               case '.gif':  
                
    $read_function 'imagecreatefrompng';  
                break;   } 
    Müsste das nicht $read_function = 'imagecreatefromgif'; heißen?

    Das Gleiche müsste für Deine Image - Resizing - Funktion weiter unten gelten, da steht der selbe Code in deiner switch-Anweisung.

    Gruß Thor
     
    Und "Gott" sprach: "Es werde Licht !" ... und drückte ENTER

Ähnliche Themen

  1. Upload Script - JPG KEIN Upload möglich
    Von Radanua im Forum PHP
    Antworten: 12
    Letzter Beitrag: 12.09.10, 21:32
  2. Upload Script gibt keine Rückmeldung
    Von Nanobox im Forum PHP
    Antworten: 4
    Letzter Beitrag: 16.02.09, 15:28
  3. Antworten: 9
    Letzter Beitrag: 26.11.04, 17:35
  4. Antworten: 2
    Letzter Beitrag: 25.06.02, 09:44
  5. Java Script Neues Fenster für Galery mit Thumbnails
    Von pissdrunk im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 24.06.02, 15:38