php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 06.05.2009, 08:49  
Benutzer
 
Registriert seit: 09.03.2009
Beiträge: 74
ocean85 befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Bild via PHP skalieren

Hallo Ihr Lieben,

und zwar habe ich wieder mal eine Frage, diesmal zu Thema Bildskalierung.

Mal angenommen eine User fügt ein Bild in ein Dateifeld eines Formulars ein. Das Bild wird auf dem Server gespeichert und auf der Website veröffentlicht.

Wie ich das Bild nun verkleinert "anzeigen" kann ist mir bewusst. Aber gibt es denn nicht auch die Möglichkeit die tatsächlichen Abmaßungen des Bildes zu verkleinern?

Also eben so das das Bild nach dem Upload nicht nur in 200x300 Pixeln angezeigt wird, sondern auch tatsächlich nurnoch 200x300 Pixel gross ist?

Oder ist PHP da einfach die falsche Script/Programmiersprache für?
ocean85 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 06.05.2009, 08:51  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

Ja das geht. Speicher doch einfach die verkleinerte Version ab.
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 06.05.2009, 09:07  
Benutzer
 
Registriert seit: 09.03.2009
Beiträge: 74
ocean85 befindet sich auf einem aufstrebenden Ast
Standard

Genau auf so einen tollen Tipp hab ich gewartet. Und wie "generiere ich" eine kleinere Version?
ocean85 ist offline  
Alt 06.05.2009, 09:14  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von ocean85 Beitrag anzeigen
Genau auf so einen tollen Tipp hab ich gewartet.
Und ich auf so eine Kommentar
Zitat:
Zitat von ocean85 Beitrag anzeigen
Und wie "generiere ich" eine kleinere Version?
Schon mal was von einem Handbuch gehört? Da vielleicht z.B. mal unter imagecopyresized() reinschauen
__________________
Gruss
L
lazydog ist offline  
Alt 06.05.2009, 09:16  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Du musst das Bild sowieso erst mal hochladen, dann auslesen und dabei die verkleinerung durch PHP vornehmen lassen, wenn du ein großes Bild nicht willst, dann kannst du das beim entgültigen speichern löschen und hast nur noch das kleine Bild bzw. Vorschaubild gespeichert mit den kleineren Masen.

Du schreibst dir ist bewusst wie du das Bild verkleinert anzeigen kannst, also gehe ich und ich denke auch andere davin aus das du weist wie man diese mit PHP automatisch generiert, wenn nicht dann werde bitte etwas deutlicher in deinem Post wo es nun genau hakt.

Denn wenn du bei einer Ausgabe ein Bild mit PHP verkleinert ausgeben kannst dann brauchst für dein Vorhaben nur mal ein bisschen den Kopf anstrengen und schon kommst selber auf die Lösung.

Gruß litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 06.05.2009, 10:27  
Erfahrener Benutzer
 
Benutzerbild von lazydog
 
Registriert seit: 02.04.2008
Beiträge: 4.032
lazydog befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von litterauspirna Beitrag anzeigen
Du musst das Bild sowieso erst mal hochladen
Wenn er es anzeigen kann, dann hat er es doch schon längst hochgeladen
Zitat:
Zitat von litterauspirna Beitrag anzeigen
Du schreibst dir ist bewusst wie du das Bild verkleinert anzeigen kannst, also gehe ich und ich denke auch andere davin aus das du weist wie man diese mit PHP automatisch generiert
Das sind doch zwei völlig unterschiedliche Dinge, die Verkleinerung bei der Ausgabe kann doch problemlos mit reinem HTML bewerkstelligt werden, während das verleinerte Abspeichern schon ein paar PHP-Befehle benötigt. Aber das hatten wir ja schon.
__________________
Gruss
L
lazydog ist offline  
Alt 06.05.2009, 11:05  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Ich mache die verkleineter Ausgabe auch mit einer PHP funktion die das automatisch übernimmt also Thumbnailfunktion. Nunja so würde ich das machen.

Und das beim Upload läuft im Prinzip glaube ich genauso ab mit den gleichen GDlib Funktionen.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 06.05.2009, 11:51  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

was soll man dazu nur sagen. Let me google that for you
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 06.05.2009, 13:44  
Benutzer
 
Registriert seit: 09.03.2009
Beiträge: 74
ocean85 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Speicher doch einfach die verkleinerte Version ab
meine Frage war wie ich deine Antwort bewerkstelligen kann... und ich suche kein Free-Thumbnail-Scripts sondern einen php Befehl, á la
Zitat:
unter imagecopyresized() reinschauen
Danke Lazydod, Litterauspirna, ich denke wir haben uns falsch verstanden - und Jego, ich habe

Zitat:
Speicher doch einfach die verkleinerte Version ab
als bildvorherinphotoshopverkleinern interpretiert und nicht ans Thema Thumbnail Erstellung gedacht. in dem sinne auch danke an dich und sry für das kommentar
ocean85 ist offline  
Alt 06.05.2009, 17:32  
Benutzer
 
Registriert seit: 24.05.2008
Beiträge: 79
stallone befindet sich auf einem aufstrebenden Ast
Standard

PHP-Code:
<html>  
<head>  
<title>Upload</title>  
</head>  
<body>  
<?  
if($action){  
   
// --------------------------------  
   // Diverse Variablen  
   // --------------------------------  
$path "bilder/"// Url zum Speicherordner der großen Bilder  
$thumb_path "bilder_klein/"// 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_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;  
      }  
      
$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;  
         }  
         @
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;  
    }  
    
$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$src0000$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_resize0777);  
    } 
// End IF $gd_errored  
  
// End Picture Resize  
 
echo "$filetype<br>";
 echo 
"$filename<br>";
 
      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>
stallone ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bild in enuem Fenster öffnen? K3HLIM JavaScript, Ajax und mehr 6 10.04.2009 20:43
[Erledigt] Bild auf Bild anzeigen bei x/y Screeze JavaScript, Ajax und mehr 2 19.01.2009 19:40
Bildupload in CMS funktioniert nicht soffi PHP Tipps 2009 18 10.01.2009 18:24
[Erledigt] Bild anzeigen über $name t-stude Datenbanken 8 11.11.2008 15:34
[Erledigt] bild als link mit mouseover ohne zeilenumbruch SteiniKeule HTML, Usability und Barrierefreiheit 12 30.10.2008 21:12
[Erledigt] Bild verändert sich auf Klick Script errox JavaScript, Ajax und mehr 1 21.10.2008 20:51
Bild onMouseOver einblenden rocco HTML, Usability und Barrierefreiheit 8 22.02.2008 12:52
Transparentes Bild über Bild legen *update gelöst* Broadcast PHP-Fortgeschrittene 11 04.02.2008 15:27
Bild skalieren --> pixelig rocco PHP-Fortgeschrittene 2 12.09.2007 16:14
[Erledigt] lokales bild auswaehlen, skalieren, dann uploaden, geht das? PHP Tipps 2006 9 24.01.2006 19:47
[Erledigt] Bild aus Datei in Bild einfügen PHP Tipps 2005-2 1 07.08.2005 23:36
[PHP«Image] Bild in ein anderes Bild einsetzen PHP Tipps 2005-2 4 07.08.2005 19:39
Bild aus Server anzeigen lassen flual2000 PHP Tipps 2004 4 26.10.2004 16:33
Bild größe hat prob mit umbenennung. JEGO PHP Tipps 2004 1 08.07.2004 16:30

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php script bilder skalieren, php skalieren, http://www.php.de/php-einsteiger/54826-erledigt-bild-via-php-skalieren.html, php gif skalieren, php bilder skalieren, php bild automatisch skalieren, bild via php skalieren, php bilder skalieren upload, php bild skalieren, php bildupload mit thumbnailfunktion, bilder skalieren php, php bild skalieren speichern, php jpg skalieren, \php upload script\ phpbb 3.0 resize, php bilder skalieren jpg gif png, bild automatisch skalieren php, php bildupload mit skalierung beispiel jpg png, bilder skalieren php script, phpscript upload skalieren, php script bilder eines ordners skalieren

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:42 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum