Bild als JPG ausgeben

Alaniak

Erfahrenes Mitglied
Hallo zusammen,
ich habe ein kleines Script gefunden, welches mir ermöglicht aus Flash heraus Movieclips als Bilder auszugeben. Allerdings wird das Bild natürlich nicht als xy.jpg ausgegeben sondern als script.php.
Gibt es eine Möglichkeit, dass das Bild ganz normal als JPG ausgegeben wird (xy.jpg)?

Hier das Script:
PHP:
<?php
	$data = explode(",", $_POST['img']);
	$width = $_POST['width'];
	$height = $_POST['height'];
	$image=imagecreatetruecolor( $width ,$height );
	$background = imagecolorallocate( $image ,0 , 0 , 0 );
	//Copy pixels
	$i = 0;
	for($x=0; $x<=$width; $x++){
		for($y=0; $y<=$height; $y++){
			$int = hexdec($data[$i++]);
			$color = ImageColorAllocate ($image, 0xFF & ($int >> 0x10), 0xFF & ($int >> 0x8), 0xFF & $int);
			imagesetpixel ( $image , $x , $y , $color );
		}
	}

	//Output image and clean
	header( "Content-type: image/jpeg" );
	imagejpeg( $image, '', 80 );
	imagedestroy( $image );	
?>
 
Moin,

Variante 1: Du benennst das Script um in xy.jpg und sorgst über eine AddType-Directive in der Serverkonfiguration dafür, dass auch Dateien mit der Endung .jpg von PHP geparst werden.

Variante 2: Du richtest per mod_reqrite eine Umleitung ein, so dass HTTP-Anfragen nach xy.jpg zu script.php weitergeleitet werden.
 
Danke für die schnelle Antwort.
Bei Var.1 versteh ich nur Bahnhof ;-)
Wie müsste den Var. 2 aussehen? So:
PHP:
RewriteEngine on
RewriteRule xy.jpg$ script.php
?
 
Danke für die schnelle Antwort.
Bei Var.1 versteh ich nur Bahnhof ;-)
Wie müsste den Var. 2 aussehen? So:
PHP:
RewriteEngine on
RewriteRule xy.jpg$ script.php
?
jo

Die 1. Variante wäre folgendermaßen:
Code:
AddType application/x-httpd-php .jpg

Die würde jedoch alle JPGs betreffen, was die Serverperformance beeinträchtigt(es werden generell all Dateien geparst, egal, ob dort nun PHP-Code drinnen steht oder nicht)...Variante 2 ist daher empfehlenswerter.
 
Hab Var. 1 mal ausprobiert, das klappt gut.

Wenn ich die htaccess mit dem Flashfilm und dem Skript in einen Extra Ordner auf meinem Webspace ablege dann bezieht sich die htaccess ja nur auf dieses Ordner, oder? Also werden nur die Dateien aus diesem Ordner geparst und nicht alle Dateien auf dem Server?!

Mit Var. 2 funktioniert das ganze nämlich nicht.
 
Jo, Konfigurationseinstellungen per .htaccess betreffen nur das Verzeichnis, in dem sich die .htaccess befindet(und dessen Unterverzeichnisse)

Wenn sich dort also keine weiteren jpg befinden, hast du keine Performanceeinbußen zu Befürchten :)
 
Das schon, aber für den durchschnittlichen User, der das speichern will geht das nicht.

Dabei ist mir grad aufgefallen, dass man das Bild zwar als JPG jetzt speichern kann aber es dann nicht angezeigt wird im Windows Bildanzeiger?!

EDIT: Ich habs jetzt hinbekommen, dass mir das Bild direkt gespeichert wird:
header("Content-disposition: attachment; filename="."bild.jpg");
 
Zuletzt bearbeitet:
Zurück