Bild upload script

pikus

Mitglied
hallo alle zusammen
ich suche einen kompletten Bild upload Script für meine Community was auch das Bild auf eine bestimmte größe verkleinert. Es sollte 100 % funktionieren weil ich kenn mich noch nicht so gut in php aus.

kan mir jemand helfen oder einen kompletten Script schicken?

DANKE
 
Danke für die hilfe aber ich versteh da eigentlich garnichts
ich wär glücklich wenn mir einer einen fetigen Script schicken würde!

// EDIT
ich hab hier ein script gefunden aber er kann bilder nur zu einer bestimmten grösse hochladen
liegt es vieleicht an meinem funpic webspace?
oder an dem Script?

PHP:
<html> 
<head> 
<title>Upload</title> 
</head> 
<body> 
<? 
if($action){ 

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

$path = "images/typen/"; // Url zum Speicherordner der großen Bilder 
$thumb_path = "images/typen/thumb/"; // Url zum Speicherordner der Vorschaubilder 
$config_width = "320"; // Bildbreite max. bei großem Bild 
$config_height = "240"; // Bildhöhe max. bei großem Bild 
$config_thumb_width = "80"; // Bildbreite max. bei Vorschaubild 
$config_thumb_height = "60"; // Bildhöhe max. bei Vorschaubild 
$resizequality = "70"; // Bildkompressionsrate 0-100 
$deindomain = "http://www...........de/";  // 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_filename, 0777); 


   // -------------------------------- 
   // 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; 
      } 

      $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, $src, 0, 0, 0, 0, $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; 
         } 

         @chmod($thumb_path . $pic_thumbnail, 0777); 

      } // 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; 
    } 

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

    if (!$src) 
    { 
      $gd_errored = TRUE; 
      $pic_resize = ''; 
    } 
    else if( ($pic_width > $config_width) or ($pic_height > $config_height) ) 
    { 
      // Resize it 
      if ( (($pic_width / $pic_height) > ($config_width / $config_height)) ) 
      { 
        $resize_width = $config_width; 
        $resize_height = $config_width * ($pic_height/$pic_width); 
      } 
      else 
      { 
        $resize_height = $config_height; 
        $resize_width = $config_height * ($pic_width/$pic_height); 
      } 

      $resize = @imagecreatetruecolor($resize_width, $resize_height); 

      $resize_function = 'imagecopyresampled'; 

      @$resize_function($resize, $src, 0, 0, 0, 0, $resize_width, $resize_height, $pic_width, $pic_height); 
    } 
    else 
    { 
      $resize = $src; 
    } 

    if (!$gd_errored) 
    { 
      $pic_resize = $pic_filename; 

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

      @chmod($path . $pic_resize, 0777); 

    } // End IF $gd_errored 

  } // End Picture Resize 

      echo "Datei ist auf dem Server! <br><br>"; 
      echo "Url des großen Bildes: <a href=\"$deindomain$path$pic_filename\" target=\"_blank\">".$deindomain.$path.$pic_filename; 
     echo "</a> <br><img src=\"$deindomain$path$pic_filename\"><br><br>"; 
      echo "Url des Vorschaubildes: <a href=\"$deindomain$thumb_path$pic_filename\" target=\"_blank\">".$deindomain.$thumb_path.$pic_filename; 
     echo "</a> <br><img src=\"$deindomain$thumb_path$pic_filename\">"; 

   } 
} else { ?> 

<form method="post" enctype="multipart/form-data" action="<?php echo $PHP_SELF ?>"> 
<input type="hidden" name="MAX_FILE_SIZE" value="4000000"> 
<br> 
<strong>File Upload</strong> <br> 
<br> 
<input name="pic_file" type="file" size=40> 
<br> 
<br> 
<input type="submit" name="action" value="Speichern"> 
</form> 
<? 
 } 
   // ----------------------------------------- 
   // Das Script kann unter Verwendung 
   // dieses Vermerks uneingeschränkt 
   // genutzt / verändert werden. 
   //  © www.marc-gutt.de 
   // ----------------------------------------- 
?> 
</body> 
</html>
 
Also ein bisschen Eigeninitiative ist doch nicht zuviel verlangt, oder?!

Direkt bei den ersten Kommentaren steht doch schon alles erklärt, was man wissen braucht...
 
steht nicht drin wieso er bilder nur zu einer bestimmten größe hochladen kann
und bei den größeren bleibt der Browser einfach weiß
 
Ich seh gerade, dass das Script nicht mit den neuesten PHP Versionen arbeiten wird, da es auf alte Variablen zugreift, die meiner Meinung nach nicht mehr gesetzt sind.

Du müsstest das ganze Skript umschreiben, damit es funktioniert.
 
Felix Jacobi hat gesagt.:
Ich seh gerade, dass das Script nicht mit den neuesten PHP Versionen arbeiten wird, da es auf alte Variablen zugreift, die meiner Meinung nach nicht mehr gesetzt sind.

Du müsstest das ganze Skript umschreiben, damit es funktioniert.

Ehm magst du mir mal sagen was das bedeuten soll..Also welche es genau betrifft
Ich arbeite schon recht lang mit dem script unter PHP 5...
Hab ja schon sorgen das es mit 5.2.2 nicht klarkommt...Das wir morgen aufgespielt^^

Ich hoffe es geht dann noch...

edit: Aso ich habe aus dem Script die Gif Funktion entfernt da sie nicht richtig ging.
Und noch einige andere unwichtige Funktionen hinzugefügt^^.

LG Lars
 
Zuletzt bearbeitet:
Also bei mir (register_globals off, Safe Mode off) funktioniert z. B. $PHP_SELF nicht.

Und auch wenn ich das ändere, macht das Skript erstmal gar nichts... Mich damit weiter zu beschäftigen hatte ich dann erstmal keine Lust mehr, sorry ;)
 
Wenn du nochmal irgendwann Lust dazu hast, würde ich mich freuen, wenn du die Fehler die dir auffallen hier postest :) :)

Was nimmt man eigentlich anstatt $PHPSelf
etwa
PHP:
$_SERVER['PHP_SELF']
LG Lars
 
Zurück