Suche nach als

Bild verkleinert Script

Auf dieser Seite:

Das PHP Script zum Upload eines Bildes mit Resize-Funktion kann ein Bild proportional verkleinern. Es funktioniert mit gif-, jpg- und png-Dateien. Zur Nutzung dieser Funktionen muss die GD Bibliothek installiert sein.

GD Library

gd_info()

Zur dynamischen Erstellung, Bearbeitung und Darstellung von Grafiken mit PHP dient die integrierte GDlib. In PHP5 ist die GD2 dabei. Informationen über die Fähigkeiten der zurzeit kompilierten GD liefert folgender Code:

<?php
var_dump(gd_info());
?>

Ausführliche Beispiele sind auf der PHP Website bei der Image Funktionsreferenz dokumentiert.

Es wurde noch kein Bild hochgeladen. (Bitte nutzen Sie das Formular.)

Monsterscript

@imagecreatefromgif() und @imagecreatetruecolor()

is_callable() und imagecopyresampled()

<?php
// Vorbedingungen
if(isset($_FILES['PORTRAIT'])) {
if(
$_FILES['PORTRAIT']['error']=="0") { // START if FILES no Error
 
$source=$_FILES['PORTRAIT']['tmp_name']; // temporary folder
 // START if gif, png oder jpg
 // check type of file, add extension and apply according @function
 
if ($_FILES['PORTRAIT']['type']=="image/gif" 
 
or $_FILES['PORTRAIT']['type']=="image/png" or $_FILES['PORTRAIT']['type']=="image/x-png" 
 
or $_FILES['PORTRAIT']['type']=="image/jpeg" or $_FILES['PORTRAIT']['type']=="image/pjpeg"){
  if (
$_FILES['PORTRAIT']['type']=="image/gif") {
  
$extension="gif";    
   
$image = @imagecreatefromgif($source);
  } elseif (
$_FILES['PORTRAIT']['type']=="image/png" or $_FILES['PORTRAIT']['type']=="image/x-png") {
  
$extension="png";    
  
$image = @imagecreatefrompng($source);
  } else {
  
$extension="jpg";
  
$image = @imagecreatefromjpeg($source); 
  }
          
// Bild verkleinern, wenn nötig
// Bildparameter – nach Bedarf konfigurieren.
$imageMaxHeight 160// maximale Höhe in Pixeln
$imageMaxWidth 120// maximale Breite in Pixeln
$quality 100// JPEG-Qualitätsfaktor 1...100

list($oldWidth,$oldHeight) = getimagesize($source);
// START resizing
if (($oldWidth $imageMaxWidth) || ($oldHeight $imageMaxHeight)) {
 
// Sind wir hauptsächlich zu breit oder zu hoch?
 
$widthRatio $oldWidth $imageMaxWidth;
 
$heightRatio $oldHeight $imageMaxHeight;
 
// Neue Abmessungen berechnen.
  
if ($widthRatio >= $heightRatio) { // hauptsächlich zu breit
  
$newWidth $imageMaxWidth;
  
$newHeight $oldHeight $widthRatio;
  } else {  
// hauptsächlich zu hoch
  
$newHeight $imageMaxHeight;
  
$newWidth $oldWidth $heightRatio;
  }
        
// Grafik mit den neuen Dimensionen erzeugen.
$newImage = @imagecreatetruecolor($newWidth$newHeight);
// Existierende Grafik per Resample herüberkopieren ...
if (is_callable("imagecopyresampled")) {
 
imagecopyresampled($newImage$image
 
0000$newWidth$newHeight
 
$oldWidth$oldHeight);
 } else  {   
// ... oder per Resize übernehmen (Qualitätsverlust).
 
imagecopyresized($newImage$image
 
0000$newWidth$newHeight
 
$oldWidth$oldHeight);
 }
// END resizing
else
{
$newImage $image// Bild ist klein genug.
}

$Nameusr htmlspecialchars($_POST["Name"], ENT_QUOTES);
// target folder, name and extension for resized/renamed Portrait Photo
$target="upload/".$Nameusr.".".$extension;

 
// make and save images now
 
switch ($extension) {
 case 
"jpg":
 
imagejpeg($newImage$target$quality);
 break;
 case 
"png":
 
imagepng($newImage$target);
 break;
 case 
"gif":
 
imagegif($newImage$target);
 break;
 }       

// show image
$size=getImageSize($target);
$imgstr="<p><img width=\"$size[0]\" height=\"$size[1]\" ";
$imgstr .="src=\"$target\" alt=\"uploaded image\" /></p>";
print 
$imgstr;    
// show image attributes
print "<b>Uploaded file</b><br />";
print 
"url: ".$target."<br />";
print 
"size: ".$_FILES['PORTRAIT']['size']."<br />";
print 
"error: ".$_FILES['PORTRAIT']['error']."<br />";
// END if gif, png oder jpg

// END if No Error
else {
echo 
"<strong>Es ist ein Fehler aufgetreten.</strong> (error: ".$_FILES['PORTRAIT']['error'].")";
}
// END if isset
else {
echo 
"<strong>Es wurde noch kein Bild hochgeladen.</strong> (Bitte nutzen Sie das <a href='img_resize_form.php'>Formular</a>.)";
}
?>


Valid XHTML 1.0 Check den Code.

MySQL: >> << Bild verkleinert hochladen
Ich bin hier: > PHP Lehrling >>> Bild verkleinert Script
 
HTML und XHTML | CSS | JavaScript und DHTML | PHP und MySQL | Andere Sprachen
Letzter Update: 19.05.2012