pict.php

Fragen zum Thema HTML, JavaScript, PHP
Benutzeravatar
naums
Beiträge: 740
Registriert: Sa Jan 02, 2010 10:40 pm
Kontaktdaten:

pict.php

Beitrag von naums » Mo Aug 30, 2010 7:44 pm

Ich bin ja hier schon fast Stammgast... Also mein heutiges Problem: Ich übergebe folgender Datei (pict.php) folgende Parameter. Quelltext:

Code: Alles auswählen

<?php
/***************************************************************
***    Developed by Naums Project in 2010, Stefan Naumann    ***
***************************************************************/
$get=$_GET;
if (isset($get["img"]))
{
    $img=$get["img"];
}
else
{
    $img=NULL;
};
if (isset($get["width"]))
{
    $width=$get["width"];
}
else
{
    $width=NULL;
};
if (isset($get["height"]))
{
    $height=$get["height"];
}
else
{
    $height=NULL;
// };

if ($img!=NULL)
{
    ##resizing an image for diskspace reasons.
	/**************************************************************************
	*** This Code is taken from the Oettinger Games project and was         ***
	*** modified slightly for this Homepage ***********************************
	*** http://klassenzimmer.scrapping.cc/naums/oettinger-games/pictgal.php ***
	*** ******************************************************************* ***
	*** Developed by Naums Project 2010 ***************************************
	**************************************************************************/
	
	header("content-type:image/jpeg");
	
	$path=explode("-",$img);
	$img=NULL; $a=0;
	while ($a<count($path))
	{
	    $img.=$path[$a];
		$a++;
		if ($a!=count($path))
		{
		    $img.="/";
		};
	};
	
	$src=imagecreatefromjpeg($img);
	
	if ($width==NULL and $height==NULL)
	{
	    list($origwidth, $origheight) = getimagesize($img);
		$newWidth=$origwidth; 
		$newHeight=$origheight;
	}
	else if ($width!=NULL and $height==NULL)
	{
	    list($origwidth, $origheight) = getimagesize($img);
		$newWidth=$width;
		$f=$origwidth/$newWidth;
		$newHeight=$height/$f;
	}
	else if ($width==NULL and $height!=NULL)
	{
	    list($origwidth, $origheight) = getimagesize($img);
		$newHeight=$height;
		$f=$origheight/$newHeight;
		$newWidth=$width/$f;
	}
	else
	{
	    list($origwidth, $origheight) = getimagesize($img);
		$newWidth=$width;
        $newHeight=$height;
	};
			  
	$dst=imagecreatetruecolor($newWidth, $newHeight);
	imagecopyresampled($dst, $src, 0, 0, 0, 0, $newWidth,$newHeight, $origwidth, $origheight);
	
	imagejpeg($dst, NULL, 100);
	imagedestroy($dst);	
	imagedestroy($src);
	
	/*************************************************************************/
}
else
{
    die("<P>ERROR: NO INPUT FILE SPECIFIED</P>");
};
?>
url:

Code: Alles auswählen

http://localhost/schuelerwettbewerb/pict.php?img=pict-games-ablauf.jpg&width=200
Die Datei existiert. Der Filename ist so buzzsch eingetragen, weil ich gedacht habe das / darf man in Adressen nicht benutzen, zumindest nicht wenns kein Unterordner sein soll :D Warum gibt mir header("content-type:image/jpeg"); folgendes aus:

Code: Alles auswählen

http://localhost/schuelerwettbewerb/pict.php?img=pict-games-ablauf.jpg&width=200
und nicht das bild? selbst wenn ich alles dahinterstehende auskommentiere kommt immernoch dieser Schriftzug. Vielen dank schonmal im Vorraus. (schreibt man das Voraus oder Vorraus? Kann mich nie entscheiden ;) )
.globl truth
truth:
mov r0, #42
mov pc, lr

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: pict.php

Beitrag von cloidnerux » Mo Aug 30, 2010 7:54 pm

Du willst über ein PHP-Skript ein Bild ausgeben?
Wieso willst du dann im header angeben, das ein PHP-Dokument ein Bild sein soll, wenn es doch nur als Resultat ein Bild hat?
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: pict.php

Beitrag von Xin » Mo Aug 30, 2010 8:40 pm

naums hat geschrieben: url:

Code: Alles auswählen

http://localhost/schuelerwettbewerb/pict.php?img=pict-games-ablauf.jpg&width=200
Die Datei existiert. Der Filename ist so buzzsch eingetragen, weil ich gedacht habe das / darf man in Adressen nicht benutzen, zumindest nicht wenns kein Unterordner sein soll :D
Was ist buzzsch!?
naums hat geschrieben:Warum gibt mir header("content-type:image/jpeg"); folgendes aus:

Code: Alles auswählen

http://localhost/schuelerwettbewerb/pict.php?img=pict-games-ablauf.jpg&width=200
und nicht das bild?
Der Header wird Dir diesen Text vermutlich nicht ausgeben, sondern das vermutlich als zusaetzlichen Header mitgeben.

Hast Du die Seite mal mit Telnet geprueft, was da genau ausgegeben wird?
naums hat geschrieben:selbst wenn ich alles dahinterstehende auskommentiere kommt immernoch dieser Schriftzug.

Kann es sein, dass das Bild, dass der Header nicht korrekt ist?
Ist zwischen dem Doppelpunkt und image/jpeg ein Leerzeichen vorgeschrieben?
naums hat geschrieben:Vielen dank schonmal im Vorraus. (schreibt man das Voraus oder Vorraus? Kann mich nie entscheiden ;) )
Das Wort "raus" existiert im Deutschen nicht. Es ist ein Kuerzel fuer her-aus, wie auch her-ein und nicht "rein" Wenn etwas rein ist, dann ist es sauber. Da Du nicht vorheraus sagen moechtest, lautet das Wort "voraus".
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

AnGaiNoR
Beiträge: 212
Registriert: Sa Jul 19, 2008 7:07 pm
Wohnort: Dresden

Re: pict.php

Beitrag von AnGaiNoR » Di Aug 31, 2010 6:09 pm

GET-Parameter übergibt man per Fragezeichen und verbindet sie per kaufmännischem Undzeichen.
Die URL müsste also so aussehen:

Code: Alles auswählen

http://localhost/schuelerwettbewerb/pict.php?img=pict-games-ablauf.jpg?width=200
Physics is like sex: sure, it may give some practical result, but that's not why we do it.
(Richard P. Feynman)

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: pict.php

Beitrag von Xin » Di Aug 31, 2010 7:15 pm

AnGaiNoR hat geschrieben:GET-Parameter übergibt man per Fragezeichen und verbindet sie per kaufmännischem Undzeichen.
Die URL müsste also so aussehen:

Code: Alles auswählen

http://localhost/schuelerwettbewerb/pict.php?img=pict-games-ablauf.jpg?width=200
Die Url, die er beschreibt ist soweit korrekt. Diese URL ist falsch (& vor width statt ?).

Er gibt die URL mit den Fragezeichen als Ausgabe an... wobei mir der Unterschied auch noch nicht aufgefallen ist, was die Sache nicht unbedingt verständlicher macht.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

AnGaiNoR
Beiträge: 212
Registriert: Sa Jul 19, 2008 7:07 pm
Wohnort: Dresden

Re: pict.php

Beitrag von AnGaiNoR » Di Aug 31, 2010 8:19 pm

@Xin:
Aber um den Querystring vom Rest der URL abzutrennen, muss man doch eigentlich ein Fragezeichen als Trennoperator nehmen, oder?
Physics is like sex: sure, it may give some practical result, but that's not why we do it.
(Richard P. Feynman)

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: pict.php

Beitrag von Xin » Di Aug 31, 2010 9:31 pm

AnGaiNoR hat geschrieben:@Xin:
Aber um den Querystring vom Rest der URL abzutrennen, muss man doch eigentlich ein Fragezeichen als Trennoperator nehmen, oder?
Richtig - aber Du hast in Deiner URL auch die Unterscheidung zwischen den Argumenten mit dem Fragezeichen gemacht. Hier wäre - wie Du selbst ja beschrieben hast - das & fällig.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

AnGaiNoR
Beiträge: 212
Registriert: Sa Jul 19, 2008 7:07 pm
Wohnort: Dresden

Re: pict.php

Beitrag von AnGaiNoR » Mi Sep 01, 2010 7:09 pm

Hmm, ich hab das erste Fragezeichen in der URL einfach überlesen. ^^
Physics is like sex: sure, it may give some practical result, but that's not why we do it.
(Richard P. Feynman)

Benutzeravatar
naums
Beiträge: 740
Registriert: Sa Jan 02, 2010 10:40 pm
Kontaktdaten:

Re: pict.php

Beitrag von naums » Mi Sep 01, 2010 7:38 pm

ähm... also ... das header(content-type:image/jpeg); muss doch mit rein, weil das Skript das Bild direkt ausgeben soll und nirgendwo speichern soll, ich will dann von ner HTML Seite aus, auf das Skript mit den Parametern zugreifen, und dort das Bild sehn. Das Skript ist dazu da, das Bild zu verkleinern, (resizen) und so die Bandbreitenauslastung und auch die Ladezeiten zu minimieren.
.globl truth
truth:
mov r0, #42
mov pc, lr

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: pict.php

Beitrag von Xin » Do Sep 02, 2010 11:13 am

naums hat geschrieben:ähm... also ... das header(content-type:image/jpeg); muss doch mit rein, weil das Skript das Bild direkt ausgeben soll und nirgendwo speichern soll, ich will dann von ner HTML Seite aus, auf das Skript mit den Parametern zugreifen, und dort das Bild sehn. Das Skript ist dazu da, das Bild zu verkleinern, (resizen) und so die Bandbreitenauslastung und auch die Ladezeiten zu minimieren.
Ist da noch eine Frage oder funktioniert es nun?
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten