php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 17-09-2009, 09:57
Agassiz
 Registrierter Benutzer
Links : Onlinestatus : Agassiz ist offline
Registriert seit: Sep 2009
Beiträge: 6
Agassiz befindet sich auf einem aufstrebenden Ast
Standard Einfache Thumbnails erzeugen Problem

Hi, ich habe eine index.php wo ich in einen div container eine gallery.php include.

In dieser gallery.php sollen alle gefundenen Bilder in einem Ordner als Thumbnails dargestellt werden.

Allerdings habe ich nun das Problem mit dem header ( Cannot modify header information - headers already sent by.... )

Und ich weis nicht wie ich das umgehen kann.

Hier im Forum wurd iwo gesagt, dass vor der header-information kein html code kommen darf der vom browser dargestellt wird.

Aber das Problem kann ich eigentlich gar nicht umgehen, weil ich die gallery ja include.


meine gallery.php sieht folgendermaßen aus (ich wollte erstmal ein bild aus dem ordner ausprobieren bevor ich das in ner schleife mache
denn unten weiter werden die links der bilder ausgegeben, was auch gut funktioniert. )

PHP-Code:

<?php 


        $img
="Backg.jpg";
        
$percent 0.4;
        
header('Content-type: image/jpeg');
        list(
$width$height) = getimagesize($img);
        
$newwidth $width $percent;
        
$newheight $height $percent;
        
        
$thumb imagecreatetruecolor($newwidth$newheight);
        
$source imagecreatefromjpeg($img);
        
imagecopyresized($thumb$source0000$newwidth$newheight$width$height);
        
imagejpeg($thumb);
        
        

  echo 
" <div align=\"left\"id=\"ausgabe\"> ";
  echo 
"<a href=\"../\">Parent Directory</a>";
  
printf('<br><br><br><br>');

  
   foreach (
glob("./owngallery/*.*") as $file) {
        
$size filesize("$file");
        
        
$readsize = ($size 1024)/1024 ;
        
$sizename "MB";

        if (
$readsize 1){
        
$readsize $readsize 1024;
        
$sizename "kB";
        }
        
$readsize round($readsize2);
        
        if (
is_dir($file)){
        
//nix machen
        //printf('<li><b><a href="%s/"><font size="2">%s (%.2f %s)</font></b><br></a></li>', $file, $file, $readsize, $sizename ); 
        
} else if ($file != "./owngallery/gallery.php"){
        
printf('<img src="%s">',$file);
        
printf('<li><b><a href="%s"><font size="2">%s (%.2f %s)</font></b><br></a></li>'$file$file$readsize$sizename ); 
        }

}
  echo 
"</div>";
?>
Wie kann ich das "HeaderProblem" lösen?
Mit Zitat antworten
  #2 (permalink)  
Alt 17-09-2009, 13:15
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

imagejpeg gibt den Thumbnail aus, schiebt also die Binärdaten des Bildes zum Browser. Wie kommst du auf die Idee, binäre Bilddaten direkt ins HTML zu schreiben? Das kann doch gar nicht funktionieren.

a.) Du kannst das Bild mittels dem 2. Parameter von imagejpeg speichern und aus dem Dateinamen das src-Attribut für ein entsprechendes img-Element gewinnen.

b.) Du kannst ein img-Element einbauen, dessen src-Attribut auf ein bilderzeugendes PHP-Skript verweist.

Gruß,

Amica

Geändert von AmicaNoctis (17-09-2009 um 13:17 Uhr)
Mit Zitat antworten
  #3 (permalink)  
Alt 17-09-2009, 21:05
Agassiz
 Registrierter Benutzer
Links : Onlinestatus : Agassiz ist offline
Registriert seit: Sep 2009
Beiträge: 6
Agassiz befindet sich auf einem aufstrebenden Ast
Standard

ah danke..

habe jetz den header kram ganz weggelassen und nun klappts
Mit Zitat antworten
  #4 (permalink)  
Alt 17-09-2009, 21:08
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von Agassiz Beitrag anzeigen
ah danke..

habe jetz den header kram ganz weggelassen und nun klappts
Nur davon dürfte es eigentlich nicht klappen. Wie hast du es jetzt gemacht: a.) oder b.)?

Amica
Mit Zitat antworten
  #5 (permalink)  
Alt 18-09-2009, 00:04
Agassiz
 Registrierter Benutzer
Links : Onlinestatus : Agassiz ist offline
Registriert seit: Sep 2009
Beiträge: 6
Agassiz befindet sich auf einem aufstrebenden Ast
Standard

hab variante a) genommen.
der code is relativ konfus, aber da ich anfänger bin geht das wohl klar denk ich

ich lasse jetzt alle jpg und png dateien als thumbnail anzeigen wenn sie
höher als 400px UND/Oder breiter als 600px sind, diese sind dann auch schon "automatisch" verlinkt zum vergrößern.

als nächstes schau ich mir mal an, wie ich die transparenz von png files erhalte beim umformen.

oder ich schneide nur quadrate aus den zu großen bildern und nehme diese als thumbnails , dann sieht das auch schöner aus... dann vll noch in eine tabelle und denn passts...


gaaaanz später dann vielleicht sogar mit seitenanzeige ( also # Bilder pro seite anzeigen ) - aber davon hab ich noch rein gar keinen plan...

vielleicht mit ner sql datenbank - nen gästebuch mit adminbereich hab ich schon selbst gecodet (php+mysql) ^^ *stolzsei



aber hier mein code der gallery datei:

PHP-Code:
<?php 



echo   "<div id=\"gallerybla\" align=\"center\"> ";
            

  echo 
" <div align=\"left\"id=\"ausgabe\"> ";
  echo 
"<br><b>Meine eigene Gallerie :D </b><br><br><br>";


  
   foreach (
glob("./owngallery/*.*") as $file) {
        
$orig_file $file;
    
        
$size filesize("$file");
        
        
$readsize = ($size 1024)/1024 ;
        
$sizename "MB";
        if (
$readsize 1){
        
$readsize $readsize 1024;
        
$sizename "kB";
        }
        
$readsize round($readsize2);
        

        
        if (
is_dir($orig_file)){
        } else if (
$orig_file != "./owngallery/gallery.php"){
        
        if (
strpos($orig_file,".jpg")!=null){        
        list(
$width$height) = getimagesize($orig_file);
        if ((
$width 600) && ($height 400)){
            
leave_jpg($orig_file);
        } else {
        
            
create_jpg_thumbnail($orig_file);
        }
        } 
        if (
strpos($orig_file,".png")!=null) {        
        list(
$width$height) = getimagesize($orig_file);
        if ((
$width 600) && ($height 400)){
            
leave_png($orig_file);
        } else {        
            
create_png_thumbnail($orig_file);
        }
        
        
        }
        }

}
  echo 
"</div>";
  echo 
"</div>";
  
  function 
create_jpg_thumbnail($orig_file){  
   
$file $orig_file;
   
$img $file;
        
$percent 0.2;
        list(
$width$height) = getimagesize($img);
        
$newwidth $width $percent;
        
$newheight $height $percent;
        
$thumb imagecreatetruecolor($newwidth$newheight);
        
        
$source imagecreatefromjpeg($img);
        
        
imagecopyresized($thumb$source0000$newwidth$newheight$width$height);
        
$newfile str_replace("./owngallery/""thumb_"$file);
        
imagejpeg($thumb$newfile);        
        
printf('<a href="%s"><img src="%s"></a><br><br><br>',$file,$newfile);
  }
  
   function 
create_png_thumbnail($orig_file){  
   
$file $orig_file;
   
$img $file;
        
$percent 0.2;
        list(
$width$height) = getimagesize($img);
        
$newwidth $width $percent;
        
$newheight $height $percent;
        
$thumb imagecreatetruecolor($newwidth$newheight);
        
        
$source imagecreatefrompng($img);
        
        
imagecopyresized($thumb$source0000$newwidth$newheight$width$height);
        
$newfile str_replace("./owngallery/""thumb_"$file);
        
imagepng($thumb$newfile);        
        
printf('<a href="%s"><img src="%s"></a><br><br><br>',$file,$newfile);
  }
  
  function 
leave_jpg($orig_file){
  
$file $orig_file;
        list(
$width$height) = getimagesize($file);
          
$thumb imagecreatetruecolor($width$height);
        
        
$source imagecreatefromjpg($img);
        
        
imagecopyresized($thumb$source0000$width$height$width$height);
  
  
  
$newfile str_replace("./owngallery/""thumb_"$file);
        
imagejpg($thumb$newfile);        
        
printf('<a href="%s"><img src="%s"></a><br><br><br>',$file,$newfile);
  }

  function 
leave_png($orig_file){
  
$file $orig_file;
  list(
$width$height) = getimagesize($file);
          
$thumb imagecreatetruecolor($width$height);
        
        
$source imagecreatefrompng($file);
        
        
imagecopyresized($thumb$source0000$width$height$width$height);
  
$newfile str_replace("./owngallery/""thumb_"$file);
        
imagepng($thumb$newfile);        
        
printf('<a href="%s"><img src="%s"></a><br><br><br>',$file,$newfile);
  }
  
  
  
?>
Mit Zitat antworten
  #6 (permalink)  
Alt 18-09-2009, 00:14
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Noch ein Tipp: nimm imagecopyresampled statt imagecopyresized.

Was die Transparenz angeht: imagealphablending und imagesavealpha auf true setzen.

Gruß,

Amica
Mit Zitat antworten
  #7 (permalink)  
Alt 18-09-2009, 15:39
Agassiz
 Registrierter Benutzer
Links : Onlinestatus : Agassiz ist offline
Registriert seit: Sep 2009
Beiträge: 6
Agassiz befindet sich auf einem aufstrebenden Ast
Standard

jetz bekomme ich einen weiteren fehler beim umformen


und zwar:

" Fatal error: Allowed memory size of 25165824 bytes exhausted "

aber ich habe lediglich 4 Bilder die jeweils so 1,5MB groß sind.

aber mein erlaubter speicher ist doch 24MB ( wie es oben steht )

Muss ich eine maximale Auflösung einstellen beim Upload? Denn es gibt ja auch 500kb files die >2MB groß sind.
Mit Zitat antworten
  #8 (permalink)  
Alt 18-09-2009, 15:51
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Benutzt du zwischendurch imagedestroy? Wenn nicht, wäre das sehr zu empfehlen.
Mit Zitat antworten
  #9 (permalink)  
Alt 18-09-2009, 16:01
Agassiz
 Registrierter Benutzer
Links : Onlinestatus : Agassiz ist offline
Registriert seit: Sep 2009
Beiträge: 6
Agassiz befindet sich auf einem aufstrebenden Ast
Standard

hatte ich nicht gemacht, aber nachträglich hinzugefügt aber das problem besteht weiterhin..
schon komisch.. muss jetz mal schauen dass ich ne max. auflösung finde oder sowas...

hier mein aktueller code:

PHP-Code:
    <?php 



    
echo   "<div id=\"gallerybla\" align=\"center\"> ";
                

      echo 
" <div align=\"left\"id=\"ausgabe\"> ";
      echo 
"<br><b>Meine eigene Gallerie :D </b><br><br><br>";


      
       foreach (
glob("./owngallery/*.*") as $file) {
            
$orig_file $file;    
            
$size filesize("$file");        
            
$readsize = ($size 1024)/1024 ;
            
$sizename "MB";
            if (
$readsize 1){
            
$readsize $readsize 1024;
            
$sizename "kB";
            }
            
$readsize round($readsize2);    
            if (
is_dir($orig_file)){
            } else if (
$orig_file != "./owngallery/gallery.php"){        
            if ((
strpos($orig_file,".jpg")!=null) ||  (strpos($orig_file,".JPG")!=null)){        
            list(
$width$height) = getimagesize($orig_file);
            if ((
$width 600) && ($height 400)){
                
leave_jpg($orig_file);
            } else {        
                
create_jpg_thumbnail($orig_file);
            }
            } 
            if (
strpos($orig_file,".png")!=null) {        
            list(
$width$height) = getimagesize($orig_file);
            if ((
$width 600) && ($height 400)){
                
leave_png($orig_file);
            } else {        
                
create_png_thumbnail($orig_file);
            }
            }
            }
    }
      echo 
"</div>";
      echo 
"</div>";
      
      function 
create_jpg_thumbnail($orig_file){  
       
$file $orig_file;
       
$img $file;
            
$percent 0.2;
            list(
$width$height) = getimagesize($img);
            
$src_posx = ($width /3) - 50  ;
            
$src_posy = ($height /3) - 50 ;
            
$newwidth 150// $width * $percent;
            
$newheight 150//$height * $percent;
            
$thumb imagecreatetruecolor($newwidth$newheight);        
            
$source imagecreatefromjpeg($img);        
            
imagecopyresampled($thumb$source00$src_posx$src_posy$newwidth$newheight$newwidth$newheight);
            
$newfile str_replace("./owngallery/""thumb_"$file);
            
imagejpeg($thumb$newfile);        
            
printf('<a href="%s"><img src="%s"></a><br><br><br>',$file,$newfile);
            
imagedestroy($source);
            
imagedestroy($thumb);
        
      }
      
       function 
create_png_thumbnail($orig_file){  
       
$file $orig_file;
       
$img $file;
            
$percent 0.2;
            list(
$width$height) = getimagesize($img);
            
$newwidth $width $percent;
            
$newheight $height $percent;
            
$thumb imagecreatetruecolor($newwidth$newheight);        
            
$source imagecreatefrompng($img);        
            
imagecopyresampled($thumb$source0000$newwidth$newheight$width$height);
            
$newfile str_replace("./owngallery/""thumb_"$file);
            
imagepng($thumb$newfile);        
            
printf('<a href="%s"><img src="%s"></a><br><br><br>',$file,$newfile);
            
imagedestroy($source);
            
imagedestroy($thumb);        
      }
      
      function 
leave_jpg($orig_file){
            
$file $orig_file;
            list(
$width$height) = getimagesize($file);        
            
$source imagecreatefromjpg($img);  
            
$newfile str_replace("./owngallery/""thumb_"$file);
            
imagejpg($source$newfile);        
            
printf('<a href="%s"><img src="%s"></a><br><br><br>',$file,$newfile);
            
imagedestroy($source);
            
imagedestroy($thumb);
      }

      function 
leave_png($orig_file){
      
$file $orig_file;
      list(
$width$height) = getimagesize($file);
            
$thumb imagecreatetruecolor($width$height);        
            
$source imagecreatefrompng($file);        
            
imagealphablending($sourcetrue);
            
imagesavealpha($sourcetrue);        
            
$newfile str_replace("./owngallery/""thumb_"$file);
            
imagepng($source$newfile);        
            
printf('<a href="%s"><img src="%s"></a><br><br><br>',$file,$newfile);
            
imagedestroy($source);
            
imagedestroy($thumb);
      }  
    
?>
Mit Zitat antworten
  #10 (permalink)  
Alt 18-09-2009, 16:35
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Agassiz Beitrag anzeigen
" Fatal error: Allowed memory size of 25165824 bytes exhausted "

aber ich habe lediglich 4 Bilder die jeweils so 1,5MB groß sind.

aber mein erlaubter speicher ist doch 24MB ( wie es oben steht )

Muss ich eine maximale Auflösung einstellen beim Upload? Denn es gibt ja auch 500kb files die >2MB groß sind.
*seufz*

Die Dateigrösse eines Bildes ist wenig interessant - denn in der Datei befinden sich komprimierte Daten.
Um das Bild bearbeiten zu können, muss es aber entpackt werden - und dann belegt es bei true color Höhe mal Breite mal 3 Byte Platz im Hauptspeicher ...
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #11 (permalink)  
Alt 18-09-2009, 16:42
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von wahsaga Beitrag anzeigen
und dann belegt es bei true color Höhe mal Breite mal 3 Byte Platz im Hauptspeicher ...
Mit der GD (leider) sogar noch um einiges mehr. Der combie hat da mal was zu geschrieben.
Mit Zitat antworten
  #12 (permalink)  
Alt 19-09-2009, 13:32
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von PHP-Desaster Beitrag anzeigen
Mit der GD (leider) sogar noch um einiges mehr. Der combie hat da mal was zu geschrieben.
Das Problem ist nicht die GD-Library. Deren Speicherverbrauch lässt sich ziemlich[1] genau berechnen:

* Bei TrueColour-Bitmaps sind das eine Image-Header-Struktur, ein Array von Zeigern auf die Bildzeilen und schließlich der Speicherplatz für die Zeilen selbst (4 Bytes pro ARGB-Pixel).

* Im Paletten-Modus gibts eine geänderte Image-Header-Struktur, darin eingebettet die 256 Einträge für die Farbpalette, das Zeilen-Zeiger-Array und die Zeilen mit einem Byte pro Pixel (wenn ich mich recht erinnere).

Leider kann die GD-Lib ihre eigene Speicherverwaltung an PHP abgeben und was PHP daraus macht, scheint mir nicht berechenbar -- es sei denn, jemand erklärt mir die entsprechenden Teile der PHP-Quelltexte.

Das Problem ist auch nicht die Größe des belegten Speichers, sondern die Tatsache, dass PHP das Script beendet, anstatt lediglich eine Fehlermeldung zurückzugeben, wenn nicht ausreichend Speicher allokiert werden konnte. Die LibGD selbst macht letzteres, was dabei helfen würde, den Fehler abzufangen.

@Agassiz:

Du kannst entweder mit der combie-Formel (bei TrueColour bspw. die mit getImageSize() ermitteltete Pixelzahl * 5 + Festwert W) arbeiten oder dir im PHP-Handbuch die "fudge factors" aus den Benutzerkommentaren zu den entsprechenden Funktionen wie imageCreateFromPNG(), imageCreateFromJPEG(), imageCreateFromGIF() etc. zusammensuchen.

In den meisten Fällen wirst du dann keinen Scriptabbruch mehr erleben. Es gibt aber auch hier Ausnahmen, getImageSize() sagt nicht immer die Wahrheit (z.B. bei speziellen PNGs).

Am Ende bleibt es ein Herumpfuschen an den Symptomen. Das eigentliche Problem wäre nur mit einem Eingriff in den PHP-Quellcode zu beheben.

--
[1] "ziemlich genau", weil man zur exakten Berechnung des Speicherverbrauchs, die Pointer-Größe und die Alignment-Regeln der Speicherverwaltung des darunterliegenden Systems/C-Compilers herausfinden müsste, und ich weiß nicht, ob man das mit PHP hinbekommt.

Geändert von fireweasel (19-09-2009 um 13:45 Uhr)
Mit Zitat antworten
  #13 (permalink)  
Alt 20-09-2009, 04:54
Agassiz
 Registrierter Benutzer
Links : Onlinestatus : Agassiz ist offline
Registriert seit: Sep 2009
Beiträge: 6
Agassiz befindet sich auf einem aufstrebenden Ast
Standard

Hab jetz die version genommen mit der vorherigen abfrage..

falls es jemanden interessiert hab ich hier den quellcode, in welchem sogar eine tabelle erzeugt wird, dynamisch mit der anzahl der bilder - tabelle ist 3 bilder breit...

PHP-Code:
    <?php 

    $mypath 
'./owngallery/';
    
$filecounter countfiles($mypath);
    
$myimage "./owngallery/azimage.jpg";
    
$thispage "./owngallery/gallery.php";
    
$co 1;

    echo   
"<div id=\"gallerybla\" align=\"center\"> ";                
    echo 
" <div align=\"left\"id=\"ausgabe\"> ";
    echo 
"<br><b>Meine eigene Gallerie :D </b><br><br><br>";
      
        foreach (
glob("./owngallery/*.*") as $file)  {
       
            
$orig_file $file;    
            
$size filesize("$file");        
            
$readsize = ($size 1024)/1024 ;
            
$sizename "MB";
            if (
$readsize 1) {
                
$readsize $readsize 1024;
                
$sizename "kB";
            }
            
$readsize round($readsize2);    
            if (
is_dir($orig_file)) {
                
//IS A DIRECTORY
            
} else if (($orig_file != $thispage) &&  ($orig_file != $myimage)) {
                
                list(
$width$height) = getimagesize($orig_file);
                
$filesize = (($width $height 5)+(8000));
                if (
$filesize <= 25165824 ) {            
                    if ((
strpos($orig_file,".jpg")!=null) ||  (strpos($orig_file,".JPG")!=null)) {        
                        if ((
$width 600) && ($height 400)) {
                        
leave_jpg($orig_file);
                        } else {
                        
tablehead();
                        
create_jpg_thumbnail($orig_file);
                        
tablebottom();
                        
$co++;
                        }
                    }    
                    if (
strpos($orig_file,".png")!=null)  {
                        list(
$width$height) = getimagesize($orig_file);
                        if ((
$width 600) && ($height 400))  {
                        
leave_png($orig_file);
                        } else {
                        
create_png_thumbnail($orig_file);
                        }
                    }    
                } else {
                    
$newfile str_replace("./owngallery/"""$file);
                    
                    
tablehead();
                    
                    
printf('<td><br><a href="%s"><img src="'.$myimage.'"></a></td>'$file);            
                    
                    
tablebottom();
                    
                    
                    
$co++;
                    
                    
                    
                    
                    
                    
                }
            }  
        }
      echo 
"</div>";
      echo 
"</div>";
      
      function 
tablehead (){
      global 
$co;
        if (
$co == 1) {
                    
printf('<table>');
                    }
                    if ((
$co%3) == 1) {
                    
printf('<tr>');                    
                    }      
                    
      }
      
      function 
tablebottom (){
      global 
$co;
      global 
$filecounter;
                if (
$co == $filecounter) {                    
                    
                        if (
$co == ) {
                        
printf ('<td></td><td></td></tr>');
                        }
                        if (
$co == ) {
                        
printf ('<td></td></tr>');
                        }        
                        if (
$co == ) {
                        
printf ('</tr>');
                        }
                        
printf('</table>');                        
                        
                    
                    
                    }
                    
        
      }
      
      function 
create_jpg_thumbnail($orig_file){  
       global 
$co;
       
$file $orig_file;
       
$img $file;
            list(
$width$height) = getimagesize($img);
            
$src_posx = ($width /3) - 50  ;
            
$src_posy = ($height /3) - 50 ;
            
$newwidth 150// $width * $percent;
            
$newheight 150//$height * $percent;
            
$thumb imagecreatetruecolor($newwidth$newheight);        
            
$source imagecreatefromjpeg($img);        
            
imagecopyresampled($thumb$source00$src_posx$src_posy$newwidth$newheight$newwidth$newheight);
            
$newfile str_replace("./owngallery/""thumb_"$file);
            
imagejpeg($thumb$newfile);    

            
            
printf('<td><br><a href="%s"><img src="%s"></a><br></td>',$file,$newfile);
            
            
imagedestroy($source);
            
imagedestroy($thumb);
        
      }
      
       function 
create_png_thumbnail($orig_file){  
       global 
$co;
       
$file $orig_file;
       
$img $file;
            list(
$width$height) = getimagesize($img);
            
$src_posx = ($width /3) - 50  ;
            
$src_posy = ($height /3) - 50 ;
            
$newwidth 150// $width * $percent;
            
$newheight 150//$height * $percent;
            
$thumb imagecreatetruecolor($newwidth$newheight);        
            
$source imagecreatefrompng($img);        
            
imagecopyresampled($thumb$source0000$newwidth$newheight$width$height);
            
$newfile str_replace("./owngallery/""thumb_"$file);
            
imagepng($thumb$newfile);    

            
tablehead();            
            
printf('<td><br><a href="%s"><img src="%s"></a><br></td>',$file,$newfile);
            
tablebottom();
            
$co++;
            
imagedestroy($source);
            
imagedestroy($thumb);        
      }
      
      function 
leave_jpg($orig_file){
            global 
$co;
            
$file $orig_file;
            list(
$width$height) = getimagesize($file);        
            
$source imagecreatefromjpg($img);  
            
$newfile str_replace("./owngallery/""thumb_"$file);
            
imagejpg($source$newfile);        
            
            
tablehead();
            
printf('<td><br><a href="%s"><img src="%s"></a><br></td>',$file,$newfile);
            
tablebottom();
            
$co++;
            
imagedestroy($source);
            
imagedestroy($thumb);
      }

      function 
leave_png($orig_file){
      global 
$co;
      
$file $orig_file;
      list(
$width$height) = getimagesize($file);
            
$thumb imagecreatetruecolor($width$height);        
            
$source imagecreatefrompng($file);        
            
imagealphablending($sourcetrue);
            
imagesavealpha($sourcetrue);        
            
$newfile str_replace("./owngallery/""thumb_"$file);
            
imagepng($source$newfile);        
            
            
tablehead();
            
printf('<td><br><a href="%s"><img src="%s"></a><br></td>',$file,$newfile);
            
tablebottom();
            
$co++;
            
imagedestroy($source);
            
imagedestroy($thumb);
      }  
      
      function 
countfiles($mypath) {
      
$handle opendir($mypath);
      
$filecount 0;
      while (
$res  readdir($handle)) {
        if (
is_dir($res)) {
        } else {
            
$filecount++;
            }
        }
      
$filecount--;
      return 
$filecount;
      }
      
    
?>
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Thumbnails erzeugen syco23 Windows (Client/Server) 1 14-07-2005 10:32
[Funktion] Thumbnails mit PHP erzeugen Dummi PHP Developer Forum 7 10-02-2004 09:38
Thumbnails dynamisch erzeugen mabar PHP Developer Forum 18 13-11-2003 21:02
Thumbnails mit PHP erzeugen Berni Tutorials 0 11-01-2003 02:05
Thumbnails erzeugen ProfOli PHP Developer Forum 3 29-04-2002 11:03

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:49 Uhr.