| 
			
				
					| climber5   Beiträge: 27 | 
							
							
								|  header('Content-Type: image/jpeg'); |  
								| Hallo Zusammen, 
 Ich habe versucht innerhalb der Website
 
 http://www.jansens.ch/index.php?t=2
 
 eine PHP Klasse zum Bilder verkleinern aufzurufen:
 
 http://www.phpclasses.org/browse/file/4571.html
 
 
 ich habe aber jetzt festgestelt, dass DynPG wohl bereits einen anderen Header sendet, und daher mein Bild als String anstatt als jpg-File dargestellt wird.
 
 Die entsprechende Stelle im Code ist wohl in getcontent.php, ca. Zeile 468:
 
 
 | Zitat |  | function sendHTTPHeader($charset = 'iso-8859-1', $content_type = 'text/html', $additional = null)
 {
 $this->charset = $charset;
 
 @header("Content-Type: {$content_type}; charset={$charset}");
 
 if (! is_null($additional) ) {
 @header($additional);
 }
 }
 
 | 
 
 gibt es eine Möglichkeit wie ich mit dieser Funktion und evtl. der Variable  $additional mein Bild darstellen könnte? oder bin ich komplett auf dem Holzweg?
 
 Vielen Dank für eure Hilfe.
 
 Grüessli
 Christoph
 
 |  
								|  |  
								|  |  |  
					| 06.01.2013 01:56 |  ZITIEREN 
							| ANTWORTEN |  
					| Daniel Schliebner   Beiträge: 382 | 
							
							
								| Hallo! 
 Unter dem Link sehe ich im Quellcode nicht, wo an der Stelle DynPG eingesetzt ist. Ist die Geschenklist ein DynPG-Formular?
 
 Wie dem auch sei: um die resize.php nutzen zu können, binden Sie diese in quasi einem <img>-Tag als Source ein. D.h., Sie erstellen eine PHP-Seite "thumbnail.php", in der Sie die "resize.php" einbinden, sowie auch DynPG.
 
 Anschließend können Sie dieses mittels "$thumb->show();", wobei $thumb eine Instanz der Klasse "thumbnail" ist, ausgeben. Der Header wird dann durch die Methode "show" gestzt.
 Wenn das Bild, aus welchem ein Thumbnail erzeugt werden soll, nun einfach z.B. das Leadbild eines Artikels ist (z.B. ein Artikel mit dem Namen "Barmixer" und der ID 1), dann brauchen Sie zur Nutzung der thumbnail-Klasse aus der resize.php ja den Bildpfad. Dieses können Sie bekommen, indem Sie unter "tpl/MyCMS" im DynPG-Ordner ein neues Template erstellen, z.B. "image_path" indem Sie die Datei "detail.tpl" mit dem Inhalt
 "{$IMAGE_URL}" anlegen. Anschließend können Sie in der "thumbnail.php" mittels
 
 
 ob_start();
 $DynPG->setupTemplate('image_path');
 $DynPG->Write_Article();
 $image_path = ob_get_contents();
 ob_end_clean();
 
 
 den Pfad auslesen und dann per
 
 
 $thumb = new thumbnail($image_path);
 $thumb->show();
 
 
 das Bild ausgeben. Nun müssen Sie nur noch ein einer Stelle im HTML-Code das Thuhmbnail per
 
 <img src="thumbnail.php?read_article=1" />
 
 einbinden.
 |  
								| Mit freundlichen Grüßen 
 ds-develop
 Daniel Schliebner
 Webmaster & Programmierer
 http://www.ds-develop.de
 
 Bietzkestraße 18A
 10315 Berlin
 GERMANY
 
 Tel.: +49 30 33980300
 |  
								|  |  |  
					| 06.01.2013 10:21 |  ZITIEREN 
							| ANTWORTEN |  
					| climber5   Beiträge: 27 | 
							
							
								| Hallo Daniel, 
 Das hat bestens geklappt! So einfach wäre es gewesen... und ich hab ein bischen länger gebraucht.
 
 Vielen Dank für de Phänomenalen Support, auch an einem Sonntag.
 
 Gruss
 
 Christoph
 |  
								|  |  
								|  |  |  
					| 06.01.2013 11:19 |  ZITIEREN 
							| ANTWORTEN |  
					| Daniel Schliebner   Beiträge: 382 | 
							
							
								| Noch ein kleiner Hinweis: ich habe gesehen, dass an die thumbnail.php nun per Parameter "link" der Pfad zum Bild übergeben wird. Es ist demnach essentiell, dass dann auch die Validität des Pfades überprüft wird, weil das ansonsten ggf. Angreifern Tür und Tor öffnen könnte, Dateien auf dem Webserver auszuführen oder einzuschleusen. Eine mögliche Validitätsprüfung wäre in der thumbnail.php z.B. 
 
 if (!preg_match(/giftlibrary\/[^\.]+\.\w+/), $_GET['link']))
 die('Error.');
 
 |  
								| Mit freundlichen Grüßen 
 ds-develop
 Daniel Schliebner
 Webmaster & Programmierer
 http://www.ds-develop.de
 
 Bietzkestraße 18A
 10315 Berlin
 GERMANY
 
 Tel.: +49 30 33980300
 |  
								|  |  |  
					| 06.01.2013 14:14 |  ZITIEREN 
							| ANTWORTEN |  
					| climber5   Beiträge: 27 | 
							
							
								| Hallo Daniel, 
 Vielen Dank für den Hinweis!
 
 Das habe ich mir in dem Moment nicht überlegt. Ich werde in Zukunft aber besser aufpassen.
 
 Ich habe die Zeile jetzt aber wie folgt apassen müssen:
 
 if (!preg_match( ' /giftlibrary\/[^\.]+\.\w+/ ' , $_GET['link']))die('Error.');
 
 Ich habe das auch getestet, ich hoffe es stimmt jetzt noch?
 |  
								|  |  
								|  |  |  
					| 06.01.2013 14:40 |  ZITIEREN 
							| ANTWORTEN |  
					| Daniel Schliebner   Beiträge: 382 | 
							
							
								| Hallo! 
 Ja, sorry, ich habe den Code nicht getestet und die Gänsefüssschen einfach vergessen. So ist es nun korrekt.
 |  
								| Mit freundlichen Grüßen 
 ds-develop
 Daniel Schliebner
 Webmaster & Programmierer
 http://www.ds-develop.de
 
 Bietzkestraße 18A
 10315 Berlin
 GERMANY
 
 Tel.: +49 30 33980300
 |  
								|  |  |  
					| 06.01.2013 14:45 |  ZITIEREN 
							| ANTWORTEN |  |