Seite 1 von 2

Suche Bilder hochladen Script

Verfasst: 21.01.2005, 00:39
von ypsie
Hallo,

Ich suche unbedingt ein einfaches Php Script, welches die Möglichkeit gibt, Bilder online hochzuladen und danach einfach die Url des Bildes anzeigt. Bis jetzt habe ich nur diese monströsen Imageverzeichnisse gefunden, ich benötige aber ein kleines Script.

Ein Formular: Man klickt auf "Durchsuchen" dann wählt man das Bild aus, klickt auf Okay, wartet kurz und sieht die Url der hochgeladenen Grafik.

Bitte melden, wenn ihr eines gefunden habt!

Mfg, Julian

Verfasst:
von

Verfasst: 08.02.2005, 04:11
von Outman
Hallo,

versuche es mal hiermit:

Code: Alles auswählen

<html>
<head>
<title>Upload</title>
</head>
<body><? 
if&#40;$action&#41;&#123;
$path = "/test/"; Url zum Speicher Ordner
$filename = "";
$deindomain = "http&#58;//www.deindomain.de";
$time=time&#40;&#41;;
if &#40;$HTTP_POST_FILES&#91;'userfile'&#93;&#91;'tmp_name'&#93;<> 'none'&#41;
	&#123;	
			$file = $HTTP_POST_FILES&#91;'userfile'&#93;&#91;'name'&#93;;
			$temp = $HTTP_POST_FILES&#91;'userfile'&#93;&#91;'tmp_name'&#93;;
			$path_parts = pathinfo&#40;$file&#41;;
			$filename = "test_" . $time . "." . $path_parts&#91;"extension"&#93;;
	  		$dest = $path.$filename;
	
			copy&#40;$temp, $dest&#41;;
	
		echo 'Datei ist auf den Server!';
		echo 'Url der Datei&#58; '.$deindomain.$path.$filename;
	&#125; 
&#125; else &#123; ?>

<form method="post" enctype="multipart/form-data" action="<?php echo $PHP_SELF ?>">
<input type="hidden" name="MAX_FILE_SIZE" value="400000">
<br>
<strong>File Upload</strong> <br>
<br>
<input name="userfile" type="file" size=40>
<br>
<br>
<input type="submit" name="action" value="Speichern">
</form><? &#125; ?></body>
</html>
mfg. Nico

Suche Bilder hochladen Script

Verfasst: 25.04.2005, 19:02
von mgutt
Hi,

nochmal überarbeitet ;)

Code: Alles auswählen

<html> 
<head> 
<title>Upload</title> 
</head> 
<body><? 
if&#40;$action&#41;&#123; 
$path = "test/"; // Url zum Speicher Ordner 
$filename = ""; 
$deindomain = "http&#58;//www.deindomain.de/"; 
$time=time&#40;&#41;; 
if &#40;$HTTP_POST_FILES&#91;'userfile'&#93;&#91;'tmp_name'&#93;<> 'none'&#41; 
   &#123;    
         $file = $HTTP_POST_FILES&#91;'userfile'&#93;&#91;'name'&#93;; 
         $temp = $HTTP_POST_FILES&#91;'userfile'&#93;&#91;'tmp_name'&#93;; 
         $path_parts = pathinfo&#40;$file&#41;; 
         $filename = "test_" . $time . "." . $path_parts&#91;"extension"&#93;; 
           $dest = $path.$filename; 
    
         copy&#40;$temp, $dest&#41;; 
    
      echo "Die Datei ist auf dem Server! <br><br>"; 
      echo "Url der Datei&#58; <a href=\"$deindomain$path$filename\" target=\"_blank\">".$deindomain.$path.$filename;
	  echo "</a>";
   &#125; 
&#125; else &#123; ?> 

<form method="post" enctype="multipart/form-data" action="<?php echo $PHP_SELF ?>"> 
<input type="hidden" name="MAX_FILE_SIZE" value="400000"> 
<br> 
<strong>File Upload</strong> <br> 
<br> 
<input name="userfile" type="file" size=40> 
<br> 
<br> 
<input type="submit" name="action" value="Speichern"> 
</form><? &#125; ?></body> 
</html>
funktioniert super.

ich habe nur ein paar ansätze gebraucht um was anderes zu basteln, aber trotzdem danke :D

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 25.04.2005, 20:43
von RW
HI,

move_uploaded_file() anstatt copy() bei safe_mode off :)

Gruß
RW

Verfasst: 09.06.2005, 08:43
von mgutt
Hi,

ich habe mich nochmal ran gesetzt und aus verschiedenen Codeschnipseln was zusammengebraut.

Das Tool funktioniert ganz gut und kann hier mal getestet werden:

www.maxrev.de/typenupload.php

Sinn soll sein, dass ein Bild dass ich hochlade, einmal die vorgegebe Größe eines Vorschaubildes erreicht und einmal des großen Bildes, dass auch mit einer Angabe vorgegeben werden kann.

Die Komprimierung liegt bei 70%. Das ist ein guter Komprimiss zwischen Qualität und Speicherplatz, wie ich finde.

Es funktioniert bisher super mit .jpg, .jpeg & .png. Nur mit .gif habe ich zur Zeit das Problem, dass er bei den Thumbnails eine Fehleranzeige darstellt. Da muss noch irgendwo die Codezeile rein, dass ein "Ersatzbild" angezeigt wird.

Oder kann man .gifs auch umwandeln in jpeg's ?!

Code: Alles auswählen

<html> 
<head> 
<title>Upload</title> 
</head> 
<body>
<? 
if&#40;$action&#41;&#123; 

	// --------------------------------
	// 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&#58;//www.maxrev.de/";  // unsere Domain

if &#40;$HTTP_POST_FILES&#91;'userfile'&#93;&#91;'tmp_name'&#93;<> 'none'&#41; 
   &#123;

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

         $filename = $HTTP_POST_FILES&#91;'pic_file'&#93;&#91;'name'&#93;;
         $filetype = $HTTP_POST_FILES&#91;'pic_file'&#93;&#91;'type'&#93;;
         $filetmp = $HTTP_POST_FILES&#91;'pic_file'&#93;&#91;'tmp_name'&#93;;

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

	switch &#40;$filetype&#41;
	&#123;
		case 'image/jpeg'&#58;
		case 'image/jpg'&#58;
		case 'image/pjpeg'&#58;

			$pic_filetype = '.jpg';
			break;

		case 'image/png'&#58;
		case 'image/x-png'&#58;

			$pic_filetype = '.png';
			break;

		case 'image/gif'&#58;

			$pic_filetype = '.gif';
			break;
		default&#58;
			die&#40;"Falsches Dateiformat. Nur JPEG, GIF oder PNG erlaubt!"&#41;;
	&#125;

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

	srand&#40;&#40;double&#41;microtime&#40;&#41;*1000000&#41;;	// for older than version 4.2.0 of PHP

	do
	&#123;
		$pic_filename = md5&#40;uniqid&#40;rand&#40;&#41;&#41;&#41; . $pic_filetype;
	&#125;
	while&#40; file_exists&#40;$path . $pic_filename&#41; &#41;;


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

	$ini_val = &#40; @phpversion&#40;&#41; >= '4.0.0' &#41; ? 'ini_get' &#58; 'get_cfg_var';

	if &#40; @$ini_val&#40;'open_basedir'&#41; != '' &#41;
	&#123;
		if &#40; @phpversion&#40;&#41; < '4.0.3' &#41;
		&#123;
			die&#40;"open_basedir is set and your PHP version does not allow move_uploaded_file<br /><br />Please contact your server admin"&#41;;
		&#125;

		$move_file = 'move_uploaded_file';
	&#125;
	else
	&#123;
		$move_file = 'copy';
	&#125;

	$move_file&#40;$filetmp, $path . $pic_filename&#41;;

	@chmod&#40;$path . $pic_filename, 0777&#41;;


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

	$pic_size = getimagesize&#40;$path . $pic_filename&#41;;

	$pic_width = $pic_size&#91;0&#93;;
	$pic_height = $pic_size&#91;1&#93;;


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

	if&#40;$pic_filetype != '.gif'&#41;
	&#123;
		$gd_errored = FALSE;

		switch &#40;$pic_filetype&#41;
		&#123;
			case '.jpg'&#58;
				$read_function = 'imagecreatefromjpeg';
				break;
			case '.png'&#58;
				$read_function = 'imagecreatefrompng';
				break;
		&#125;

		$src = @$read_function&#40;$path  . $pic_filename&#41;;

		if &#40;!$src&#41;
		&#123;
			$gd_errored = TRUE;
			$pic_thumbnail = '';
		&#125;
		else if&#40; &#40;$pic_width > $config_thumb_width&#41; or &#40;$pic_height > $config_thumb_height&#41; &#41;
		&#123;
			// Resize it
			if &#40;$pic_width > $pic_height&#41;
			&#123;
				$thumbnail_width = $config_thumb_width;
				$thumbnail_height = $config_thumb_width * &#40;$pic_height/$pic_width&#41;;
			&#125;
			else
			&#123;
				$thumbnail_height = $config_thumb_height;
				$thumbnail_width = $config_thumb_height * &#40;$pic_width/$pic_height&#41;;
			&#125;

			$thumbnail = @imagecreatetruecolor&#40;$thumbnail_width, $thumbnail_height&#41;;

			$resize_function = 'imagecopyresampled';

			@$resize_function&#40;$thumbnail, $src, 0, 0, 0, 0, $thumbnail_width, $thumbnail_height, $pic_width, $pic_height&#41;;
		&#125;
		else
		&#123;
			$thumbnail = $src;
		&#125;

		if &#40;!$gd_errored&#41;
		&#123;
			$pic_thumbnail = $pic_filename;

			// Write to disk
			switch &#40;$pic_filetype&#41;
			&#123;
				case '.jpg'&#58;
					@imagejpeg&#40;$thumbnail, $thumb_path . $pic_thumbnail, $resizequality&#41;;
					break;
				case '.png'&#58;
					@imagepng&#40;$thumbnail, $thumb_path . $pic_thumbnail&#41;;
					break;
			&#125;

			@chmod&#40;$thumb_path . $pic_thumbnail, 0777&#41;;

		&#125; // End IF $gd_errored

	&#125; // End Thumbnail Cache


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

  if&#40;$pic_filetype != '.gif'&#41;
  &#123;
    $gd_errored = FALSE;

    switch &#40;$pic_filetype&#41;
    &#123;
      case '.jpg'&#58;
        $read_function = 'imagecreatefromjpeg';
        break;
      case '.png'&#58;
        $read_function = 'imagecreatefrompng';
        break;
    &#125;

    $src = @$read_function&#40;$path  . $pic_filename&#41;;

    if &#40;!$src&#41;
    &#123;
      $gd_errored = TRUE;
      $pic_resize = '';
    &#125;
    else if&#40; &#40;$pic_width > $config_width&#41; or &#40;$pic_height > $config_height&#41; &#41;
    &#123;
      // Resize it
      if &#40; &#40;&#40;$pic_width / $pic_height&#41; > &#40;$config_width / $config_height&#41;&#41; &#41;
      &#123;
        $resize_width = $config_width;
        $resize_height = $config_width * &#40;$pic_height/$pic_width&#41;;
      &#125;
      else
      &#123;
        $resize_height = $config_height;
        $resize_width = $config_height * &#40;$pic_width/$pic_height&#41;;
      &#125;

      $resize = @imagecreatetruecolor&#40;$resize_width, $resize_height&#41;;

      $resize_function = 'imagecopyresampled';

      @$resize_function&#40;$resize, $src, 0, 0, 0, 0, $resize_width, $resize_height, $pic_width, $pic_height&#41;;
    &#125;
    else
    &#123;
      $resize = $src;
    &#125;

    if &#40;!$gd_errored&#41;
    &#123;
      $pic_resize = $pic_filename;

      // Write to disk
      switch &#40;$pic_filetype&#41;
      &#123;
        case '.jpg'&#58;
          @imagejpeg&#40;$resize, $path . $pic_resize, $resizequality&#41;;
          break;
        case '.png'&#58;
          @imagepng&#40;$resize, $path . $pic_resize&#41;;
          break;
      &#125;

      @chmod&#40;$path . $pic_resize, 0777&#41;;

    &#125; // End IF $gd_errored

  &#125; // End Picture Resize

      echo "Datei ist auf dem Server! <br><br>"; 
      echo "Url des großen Bildes&#58; <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&#58; <a href=\"$deindomain$thumb_path$pic_filename\" target=\"_blank\">".$deindomain.$thumb_path.$pic_filename;
	  echo "</a> <br><img src=\"$deindomain$thumb_path$pic_filename\">";

   &#125; 
&#125; else &#123; ?>

<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>
<?
 &#125;
	// -----------------------------------------
	// Das Script kann unter Verwendung
	// dieses Vermerks uneingeschränkt
	// genutzt / verändert werden.
	//  © www.gutt.it
	// -----------------------------------------
?>
</body>
</html>

Suche Bilder hochladen Script

Verfasst: 18.07.2005, 18:53
von net-zwerg
moin, dein 2. script find ich ganz gut, nur was muss man umstellen, damit der Dateiname nicht verändert wird? Also wenn die Datei z.B. Auto.jpg heißt soll sie auch so auf dem Server heißen und nicht z.B. bild_2345209453405930585093850983405984309853094098.jpg :D

mfg

Verfasst: 18.07.2005, 20:57
von Outman
Hallo,

Code: Alles auswählen

<html> 
<head> 
<title>Upload</title> 
</head> 
<body>
<? 
if&#40;$action&#41;&#123; 
	$filename = ""; 
	//$time=time&#40;&#41;; 
	if &#40;$HTTP_POST_FILES&#91;'userfile'&#93;&#91;'tmp_name'&#93;<> 'none'&#41;&#123;    
		$file = $HTTP_POST_FILES&#91;'userfile'&#93;&#91;'name'&#93;; 
		$temp = $HTTP_POST_FILES&#91;'userfile'&#93;&#91;'tmp_name'&#93;; 
		$path_parts = pathinfo&#40;$file&#41;; 
		$filename =$file. "." . $path_parts&#91;"extension"&#93;; 
		$dest = $path.$filename; 
		copy&#40;$temp, $dest&#41;; 
		echo 'Datei ist auf den Server!'; 
		echo 'Url der Datei&#58; '.$deindomain.$path.$filename; 
	&#125; 
&#125; else &#123; 
?> 
	<form method="post" enctype="multipart/form-data" action="<?php echo $PHP_SELF ?>"> 
	<input type="hidden" name="MAX_FILE_SIZE" value="400000"> 
	<br><strong>File Upload</strong><br><br> 
	<input name="userfile" type="file" size=40><br><br> 
	<input type="submit" name="action" value="Speichern"> 
	</form>
<? &#125; ?>
</body> 
</html> 
Script Hilfe: https://www.php-space.info/bilder-upload-script/

mfg. Nico

Suche Bilder hochladen Script

Verfasst: 19.07.2005, 12:35
von net-zwerg
1.danke für das Script, nur kann man auch noch angeben, dass wenn bereits eine gleichnamige Datei vorhanden ist, er sie einfach überschreibt?

2. in der Zeile
$filename =$file. "." . $path_parts["extension"];
ist das alles nach $file zu viel. wenn man die Datei hochläd heißt sie "Datei.jpg.jpg" (doppelte Endung)

mfg

Suche Bilder hochladen Script

Verfasst: 19.07.2005, 12:37
von net-zwerg
oh Punkt 1 hat sich erledigt. Internet Explorer hat die Datei nur nicht aktualisiert...
:)

eine Frage habe ich noch: Ich wollte nun noch ein Script, welches die Bilder aus dem Ordner ausliest und in einem DropDownMenü ausgibt, damit man dort sich ein Bild aussuchen kann und speichern kann.

Code: Alles auswählen

<?php 
                            echo "<select name=\"bild\">";
                        $handle = opendir&#40;'pictures/'&#41;;
                        while &#40;$file = readdir&#40;$handle&#41;&#41; &#123;
                            $filelist&#91;&#93; = $file;
                        &#125; 
                        asort&#40;$filelist&#41;;
                        while &#40;list &#40;$key, $file&#41; = each &#40;$filelist&#41;&#41; &#123;
                            ereg&#40;".gif|.jpg|.png", $file&#41;;
                            if &#40;$file != "." && $file != ".." && $file != "index.html" && $file != "CVS"&#41; &#123;
                                echo "<option value=\"pictures/$file\"";
                                if &#40;$file == $row&#91;'Picture'&#93;&#41; &#123;
                                    echo " selected";
                                &#125; 
                                echo ">$file</option>";
                            &#125; 
                        &#125;
    
    
                            echo "</select>";
                        ?>
Er zeigt auch die Bilder an, man kann sie auswählen und speichern nur wenn man die Seite wieder aufruft, soll er in dem DropDown auch das aktuelle Bild anzeigen und nicht das erste nach dem Alphabet.
Sonst müsste ich jedes mal wenn ich was anderes ändern wollte auch das gewünschte Bild wieder auswählen bevor ich speichere..

In anderen Bereichen habe ich einfach

Code: Alles auswählen

<option><?php echo $row&#91;'Status'&#93;; ?></option>
z.b. geschrieben, aber wo würde ich dass denn im oberen qellcode einfügen? komm da nicht weiter...

mfg

Suche Bilder hochladen Script

Verfasst: 21.07.2005, 22:41
von net-zwerg
kann mir da keiner helfen? :(

Hallo zusammen!

Verfasst: 25.02.2006, 02:33
von luna83
Ich hab den oben angegebenen Code mal ausprobiert (den 2. von oben, den von mgutt) und das klappt leider nicht bei mir! Ich bekomme folgende Meldung:

Warning: copy(/Bilder/test_1140830650.jpg): failed to open stream: No such file or directory in meinedomain/uploader.php on line 19

Was mach ich falsch?
:oops:

Suche Bilder hochladen Script

Verfasst: 25.02.2006, 12:30
von Hasenhuf
Ohne es mir genau anzuschauen, vielleicht liegt es an dem, was in dem Beitrag darunter steht.

Suche Bilder hochladen Script

Verfasst: 25.02.2006, 13:16
von luna83
Hallo!
Hab ich schon versucht! Ich hab auch selbst schon mal bissel rumgewurschtelt, aber ohne Erfolg! Kann das an meinem Server liegen?
:(

Verfasst: 26.02.2006, 13:03
von klauskinski
hallo,

ich bin neu hier, kann man ja sehen :D

und ich bin auch auf der suche nach einem schlanken script für bildupload, aber bei mir gestaltet sich die sache noch ein wenig schwieriger.

*also mal am urschleim anfang:

ein freund will für einen gemeinnützigen verein, wo er arbeitet ein script haben, wo er ein bild uploaden kann, muss nicht zwangsläufig mit mysql sein (mysql-db ist aber im webhostpaket enthalten, also wäre nicht das problem) nur ist die seite zu 75% von jemand anderem fertiggestellt und der hat sich irgendwie (warum auch immer) ins ausland abgesetzt. jedenfalls besteht jetzt kein kontakt mehr zu dem ehemaligen webdesigner und die seite soll aber demnächst fertiggestellt werden.

so, jetzt hat er mich gefragt, ob ich ihm da was bauen könnte. hmm, ich bin nun wirklich nicht der php-crack und in ein bereits vorhandenes system was zu integrieren, wisst ihr sicher, wie schwierig sich das gestaltet, da ja jeder so seine eigenheiten hat. also suche ich jetzt ein script, wo er dann über login seinen entsprechenden text (für veranstaltungen) verfassen kann und dazu ein bild hochladen, welches dann per hyperlink auch in originalgröße angezeigt werden kann (popup?), vorher aber nur als thumb zu sehen sein sollte.

mein gehirn läuft grad amok :)

aber gibts da schon was? alles was ich gefunden habe im web war entweder zu komplex oder aber nicht das richtige. und umstellung auf cms soll auch nicht sein (war mein vorschlag, weil relativ leicht zu realisieren), aber die jetzigen strukturen und so sollen beibehalten werden.

vielleicht hat jemand ne idee? also riesiger dank ist ihm jetzt schon sicher. evt. dann auch nen bier oder ne flasche wein? :lol:

Verfasst: 30.04.2007, 22:01
von saudepp
Super Skript, danke!!!
mgutt hat geschrieben:Hi,

ich habe mich nochmal ran gesetzt und aus verschiedenen Codeschnipseln was zusammengebraut.

Das Tool funktioniert ganz gut und kann hier mal getestet werden:

www.maxrev.de/typenupload.php

Sinn soll sein, dass ein Bild dass ich hochlade, einmal die vorgegebe Größe eines Vorschaubildes erreicht und einmal des großen Bildes, dass auch mit einer Angabe vorgegeben werden kann.

Die Komprimierung liegt bei 70%. Das ist ein guter Komprimiss zwischen Qualität und Speicherplatz, wie ich finde.

Es funktioniert bisher super mit .jpg, .jpeg & .png. Nur mit .gif habe ich zur Zeit das Problem, dass er bei den Thumbnails eine Fehleranzeige darstellt. Da muss noch irgendwo die Codezeile rein, dass ein "Ersatzbild" angezeigt wird.

Oder kann man .gifs auch umwandeln in jpeg's ?!

Code: Alles auswählen

<html> 
<head> 
<title>Upload</title> 
</head> 
<body>
<? 
if&#40;$action&#41;&#123; 

	// --------------------------------
	// 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&#58;//www.maxrev.de/";  // unsere Domain

if &#40;$HTTP_POST_FILES&#91;'userfile'&#93;&#91;'tmp_name'&#93;<> 'none'&#41; 
   &#123;

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

         $filename = $HTTP_POST_FILES&#91;'pic_file'&#93;&#91;'name'&#93;;
         $filetype = $HTTP_POST_FILES&#91;'pic_file'&#93;&#91;'type'&#93;;
         $filetmp = $HTTP_POST_FILES&#91;'pic_file'&#93;&#91;'tmp_name'&#93;;

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

	switch &#40;$filetype&#41;
	&#123;
		case 'image/jpeg'&#58;
		case 'image/jpg'&#58;
		case 'image/pjpeg'&#58;

			$pic_filetype = '.jpg';
			break;

		case 'image/png'&#58;
		case 'image/x-png'&#58;

			$pic_filetype = '.png';
			break;

		case 'image/gif'&#58;

			$pic_filetype = '.gif';
			break;
		default&#58;
			die&#40;"Falsches Dateiformat. Nur JPEG, GIF oder PNG erlaubt!"&#41;;
	&#125;

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

	srand&#40;&#40;double&#41;microtime&#40;&#41;*1000000&#41;;	// for older than version 4.2.0 of PHP

	do
	&#123;
		$pic_filename = md5&#40;uniqid&#40;rand&#40;&#41;&#41;&#41; . $pic_filetype;
	&#125;
	while&#40; file_exists&#40;$path . $pic_filename&#41; &#41;;


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

	$ini_val = &#40; @phpversion&#40;&#41; >= '4.0.0' &#41; ? 'ini_get' &#58; 'get_cfg_var';

	if &#40; @$ini_val&#40;'open_basedir'&#41; != '' &#41;
	&#123;
		if &#40; @phpversion&#40;&#41; < '4.0.3' &#41;
		&#123;
			die&#40;"open_basedir is set and your PHP version does not allow move_uploaded_file<br /><br />Please contact your server admin"&#41;;
		&#125;

		$move_file = 'move_uploaded_file';
	&#125;
	else
	&#123;
		$move_file = 'copy';
	&#125;

	$move_file&#40;$filetmp, $path . $pic_filename&#41;;

	@chmod&#40;$path . $pic_filename, 0777&#41;;


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

	$pic_size = getimagesize&#40;$path . $pic_filename&#41;;

	$pic_width = $pic_size&#91;0&#93;;
	$pic_height = $pic_size&#91;1&#93;;


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

	if&#40;$pic_filetype != '.gif'&#41;
	&#123;
		$gd_errored = FALSE;

		switch &#40;$pic_filetype&#41;
		&#123;
			case '.jpg'&#58;
				$read_function = 'imagecreatefromjpeg';
				break;
			case '.png'&#58;
				$read_function = 'imagecreatefrompng';
				break;
		&#125;

		$src = @$read_function&#40;$path  . $pic_filename&#41;;

		if &#40;!$src&#41;
		&#123;
			$gd_errored = TRUE;
			$pic_thumbnail = '';
		&#125;
		else if&#40; &#40;$pic_width > $config_thumb_width&#41; or &#40;$pic_height > $config_thumb_height&#41; &#41;
		&#123;
			// Resize it
			if &#40;$pic_width > $pic_height&#41;
			&#123;
				$thumbnail_width = $config_thumb_width;
				$thumbnail_height = $config_thumb_width * &#40;$pic_height/$pic_width&#41;;
			&#125;
			else
			&#123;
				$thumbnail_height = $config_thumb_height;
				$thumbnail_width = $config_thumb_height * &#40;$pic_width/$pic_height&#41;;
			&#125;

			$thumbnail = @imagecreatetruecolor&#40;$thumbnail_width, $thumbnail_height&#41;;

			$resize_function = 'imagecopyresampled';

			@$resize_function&#40;$thumbnail, $src, 0, 0, 0, 0, $thumbnail_width, $thumbnail_height, $pic_width, $pic_height&#41;;
		&#125;
		else
		&#123;
			$thumbnail = $src;
		&#125;

		if &#40;!$gd_errored&#41;
		&#123;
			$pic_thumbnail = $pic_filename;

			// Write to disk
			switch &#40;$pic_filetype&#41;
			&#123;
				case '.jpg'&#58;
					@imagejpeg&#40;$thumbnail, $thumb_path . $pic_thumbnail, $resizequality&#41;;
					break;
				case '.png'&#58;
					@imagepng&#40;$thumbnail, $thumb_path . $pic_thumbnail&#41;;
					break;
			&#125;

			@chmod&#40;$thumb_path . $pic_thumbnail, 0777&#41;;

		&#125; // End IF $gd_errored

	&#125; // End Thumbnail Cache


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

  if&#40;$pic_filetype != '.gif'&#41;
  &#123;
    $gd_errored = FALSE;

    switch &#40;$pic_filetype&#41;
    &#123;
      case '.jpg'&#58;
        $read_function = 'imagecreatefromjpeg';
        break;
      case '.png'&#58;
        $read_function = 'imagecreatefrompng';
        break;
    &#125;

    $src = @$read_function&#40;$path  . $pic_filename&#41;;

    if &#40;!$src&#41;
    &#123;
      $gd_errored = TRUE;
      $pic_resize = '';
    &#125;
    else if&#40; &#40;$pic_width > $config_width&#41; or &#40;$pic_height > $config_height&#41; &#41;
    &#123;
      // Resize it
      if &#40; &#40;&#40;$pic_width / $pic_height&#41; > &#40;$config_width / $config_height&#41;&#41; &#41;
      &#123;
        $resize_width = $config_width;
        $resize_height = $config_width * &#40;$pic_height/$pic_width&#41;;
      &#125;
      else
      &#123;
        $resize_height = $config_height;
        $resize_width = $config_height * &#40;$pic_width/$pic_height&#41;;
      &#125;

      $resize = @imagecreatetruecolor&#40;$resize_width, $resize_height&#41;;

      $resize_function = 'imagecopyresampled';

      @$resize_function&#40;$resize, $src, 0, 0, 0, 0, $resize_width, $resize_height, $pic_width, $pic_height&#41;;
    &#125;
    else
    &#123;
      $resize = $src;
    &#125;

    if &#40;!$gd_errored&#41;
    &#123;
      $pic_resize = $pic_filename;

      // Write to disk
      switch &#40;$pic_filetype&#41;
      &#123;
        case '.jpg'&#58;
          @imagejpeg&#40;$resize, $path . $pic_resize, $resizequality&#41;;
          break;
        case '.png'&#58;
          @imagepng&#40;$resize, $path . $pic_resize&#41;;
          break;
      &#125;

      @chmod&#40;$path . $pic_resize, 0777&#41;;

    &#125; // End IF $gd_errored

  &#125; // End Picture Resize

      echo "Datei ist auf dem Server! <br><br>"; 
      echo "Url des großen Bildes&#58; <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&#58; <a href="$deindomain$thumb_path$pic_filename" target="_blank">".$deindomain.$thumb_path.$pic_filename;
	  echo "</a> <br><img src="$deindomain$thumb_path$pic_filename">";

   &#125; 
&#125; else &#123; ?>

<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>
<?
 &#125;
	// -----------------------------------------
	// Das Script kann unter Verwendung
	// dieses Vermerks uneingeschränkt
	// genutzt / verändert werden.
	//  © www.marc-gutt.de
	// -----------------------------------------
?>
</body>
</html>