PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Thumbnails


mg19
11.07.2007, 23:12:06
Hallo,
auf meiner Webseite funktioniert mein Vorschauscript nicht siehe:
<?php
$bild= $_GET['bild'];
$breit= $_GET['breit'];
$quellbild=urldecode($bild);
$info= getimagesize($quellbild);
$breitalt =$info[0];
$hochalt =$info[1];
$hoch = ceil($hochalt*$breit/$breitalt);
switch($info[2])
{
case 1:
$bildalt= imagecreatefromgif($quellbild);
break;
case 2:
$bildalt= imagecreatefromjpeg($quellbild);
break;
}
$bildneu=imagecreatetruecolor($breit,$hoch);
imagecopyresized ($bildneu, $bildalt, 0, 0, 0, 0, $breit, $hoch, $breitalt, $hochalt);
header ("Content-type: image/jpeg");
imagejpeg($bildneu);
imagedestroy($bildneu);
imagedestroy($bildalt);
?>

Wenn ich nur das Script lade ohne jegliche Variablen im Internettext zu haben, kommen folgende Fehlermeldungen:
Warning: Division by zero in /var/www/user/bu/bushidosbk/html/vorschaugrafik.php on line 8

Warning: imagecreatetruecolor(): Invalid image dimensions in /var/www/user/bu/bushidosbk/html/vorschaugrafik.php on line 18

Warning: imagecopyresized(): supplied argument is not a valid Image resource in /var/www/user/bu/bushidosbk/html/vorschaugrafik.php on line 19

Warning: Cannot modify header information - headers already sent by (output started at /var/www/user/bu/bushidosbk/html/vorschaugrafik.php:8) in /var/www/user/bu/bushidosbk/html/vorschaugrafik.php on line 20

Warning: imagejpeg(): supplied argument is not a valid Image resource in /var/www/user/bu/bushidosbk/html/vorschaugrafik.php on line 21

Warning: imagedestroy(): supplied argument is not a valid Image resource in /var/www/user/bu/bushidosbk/html/vorschaugrafik.php on line 22

Warning: imagedestroy(): supplied argument is not a valid Image resource in /var/www/user/bu/bushidosbk/html/vorschaugrafik.php on line 23


Das Scirpt ansich funktionierte einwandfrei auf meinem Home (Apache) Server nur als ich es im Internet hochgeladen habe ging es nciht. Unterschied ist glaube ich nur , dass PHP 4.2 dort ist und globals off sind. Ansonsten ist GD installiert.

Wäre nett wenn jemand ein Ratschlag hat.
mfg mg19

vt1816
11.07.2007, 23:31:51
...
Warning: Division by zero in /var/www/user/bu/bushidosbk/html/vorschaugrafik.php on line 8

...

Wie Fehlermeldung schon sagt, eine Division durch 0 ist nicht möglich. Deine Variable $breitalt ist in der Zeile 8 gleich 0. Lass Dir mal die Inhalte Deiner Variablen ausgeben und Du wirst den Fehler besser interpretieren können.

CIX88
12.07.2007, 08:07:54
Naja, man sollte auch erst prüfen ob bei getimagesize auch etwas ankommt.
Wenn getimagesize das Bild nicht laden kann, weil es nicht findet, dann sind die Fehlermeldungen ganz normal.

mg19
12.07.2007, 14:52:45
Wenn nichts ankommen würde, würden nur diese Fehlermeldungen auftauchen. Kommt das Bild an und die breite des Bildes(über URL) so wird im Explorer nur die URL angezeigt. Oben (wo der Titel einer Webseite steht, steht jpeg...).
Nun was mir eben auffiel, wenn ich etwas verlinke:
<a href='www.blabla.de/vorschaufgrafik?bild="Bilder/hallo.jpg"&breit=200>Link</a>
Wie greife ich dann auf diese Variable zu? Mit $_Get['bild'] sicherlich nicht, oder?
Vielleicht ist da der Fehler?

CIX88
12.07.2007, 19:29:29
Was sollen die doppelten Anführungszeichen im Link ?
Da die Parameter per URL übergeben werden, wird natürlich $_GET benutzt, siehe Grundlagen von PHP.

Du kannst so kein Bild übergeben und dann mit getimagesize() anfragen, dazu muss das Bild auf dem Server liegen, oder du benutzt die komplette URL zum Bild.
Wie soll getimagesize() die Daten des Bildes ermitteln, wenn du der Funktion nur Fetzen anbietest ?

Deine Lektüre für das Wochenende:
http://php.net/getimagesize

mg19
12.07.2007, 22:33:45
Ja, sry, die doppelten Anführungszeichen dürfen nicht sein. In der Varaible bild wird der Ort der Datei übergeben, ist doch ganz klar, oder?
Mhh, was ich nicht verstehe, dass man jmd gleich als Anfänger abdrängelt. Das Script hat bei mir auf meinem Apache Server funktioniert !!!! Ich habe es auch auf Lycos heute probiert: und? ES GEHT. Nur auf ebytenet.com nicht. Das muss dann an den Servereinstellungen liegen....
Und deswegen hatte ich hier gefragt, was am Script vielleicht noch verändert werden müsste!
Trotzdem erstmal vielen Dank für eure Mühe.
Ich muss mir dann ein neuen werbefreien, kostenlosen Anbieter suchen

vt1816
13.07.2007, 08:47:22
...

Ich muss mir dann ein neuen werbefreien, kostenlosen Anbieter suchen

Werbefrei und kostenlos sind wohl zwei Dinge, die nicht so richtig miteinander funktionieren werden bzw. andere entscheidende Einschränkungen nach sich ziehen werden. Viel Glück ...

CIX88
16.07.2007, 08:26:19
Was sagt denn überhaupt allow_url_fopen (steht in phpinfo) ?