Zur Navigation

Globale Variablen in JavaScript - Austausch zw. HTML-Dateien [2]

11 lava

s.o.

09.11.2006 23:17 | geändert: 09.11.2006 23:39

12 Jörg Kruse

Hallo lava,

probier es mal so:

<?PHP

$Fotofeld = array("Pics/Bild0.jpg", "Pics/Bild1.jpg", "Pics/Bild2.jpg", "Pics/Bild3.jpg");
?>

<?PHP
echo "<img";
$size = getimagesize($Fotofeld[0]);
if ($size[0] > $size[1]) {
    echo " height='160'";
} else {
    echo " width='160'";
}
echo " src='" . $Fotofeld[0] . "'>";
?>

Edit:
Ups - hab ich jetzt den falschen Beitrag gelöscht?

09.11.2006 23:41 | geändert: 09.11.2006 23:43

13 lava

Super, danke für die Antwort ! So geht es !


Hm, offenbar hast du jetzt alle Beiträge gelöscht...


P.S. Sag mal, kann man JavaScript und PHP eigentlich mischen? Also, kann man <?PHP ..... ?> Absätze auch in .js-Dateien einbauen????

10.11.2006 00:54

14 Jörg Kruse

Du kannst auch in JavaScript-Dateien PHP ausführen lassen - die Datei muss dazu nur die Endung .php erhalten

10.11.2006 01:07 | geändert: 10.11.2006 01:07

15 Jörg Kruse

Ich habe die folgenden Beiträge in diesen Thread verschoben - dort passen sie thematisch besser hin

11.11.2006 22:59 | geändert: 11.11.2006 22:59

16 lava

Hallo, da mir leider all meine Webfiles bei einem Systemupdate verloren gegangen sind, versuche ich alles zu rekonstruieren, was mir bereits an Weihnachten gelungen war... Nun bin ich gerade bei Jörgs Tip.

Zitat von Jörg
Hallo lava,

probier es mal so:

<?PHP

$Fotofeld = array("Pics/Bild0.jpg", "Pics/Bild1.jpg", "Pics/Bild2.jpg", "Pics/Bild3.jpg");
?>

<?PHP
echo "<img";
$size = getimagesize($Fotofeld[0]);
if ($size[0] > $size[1]) {
    echo " height='160'";
} else {
    echo " width='160'";
}
echo " src='" . $Fotofeld[0] . "'>";
?>


Leider scheint getimagesize nicht korrekt zu funktionieren. Ich hab festgestellt, daß egal ob mit ($size[0]>$size[1]) oder mit umgedrehtem Vergleichsvorzeichen < nämlich mein Bild immer hochkant dargestellt wird. Also hab ich mir mal mit

[code] echo"$size[0] $size[1]" [\code] die Ergebnisse von getimagesize anzeigen lassen und da kam eine

Warning: Division by zero

für die getimagesize-Zeile heraus. Wer kann mir weiterhelfen?

(P.S. Noch eine kleine Frage: Kennt PHP eigentlich auch die ?: - Schreibweise anstatt dem o.g. if-else ? )

30.05.2007 21:43 | geändert: 30.05.2007 22:01

18 Jörg Kruse

Der vorige Beiotrag bezog sich auf dein PS. Ich hatte noch dein altes Post offen, deswegen hatte ich den Nachsatz nicht mitbekommen

Leider scheint getimagesize nicht korrekt zu funktionieren. Ich hab festgestellt, daß egal ob mit ($size[0]>$size[1]) oder mit umgedrehtem Vergleichsvorzeichen < nämlich mein Bild immer hochkant dargestellt wird. Also hab ich mir mal mit

 echo"$size[0] $size[1]" 
die Ergebnisse von getimagesize anzeigen lassen und da kam eine

Warning: Division by zero

für die getimagesize-Zeile heraus. Wer kann mir weiterhelfen?

Du meinst für diese Zeile:

$size = getimagesize($Fotofeld[0]);

Vielleicht führt getimagesize intern eine Division durch? Kann das Script denn auf $Fotofeld[0] zugreifen?

30.05.2007 23:34 | geändert: 30.05.2007 23:35

19 lava

Also, folgendes steht zum Aufbau einer einspaltigen Tabelle (die ich dann später automatisch auf- und abscrollen lassen will) in meinem <body> </body>- Bereich :

<?PHP 
$bilderdir="PicGall"
$bilder=array("gummi1","gummi2","gummi3","gummi4","gummi5","gummi6","gummi7");
?>

<table><tbody>
<?PHP 
for ($j=0;$j<7;$j++) 
{
$size=getimagesize($bilderdir/$bilder[$j].jpg);
echo "<tr><td> <img scr=$bilderdir/$bilder[$j].jpg)"
if ($size[0]>$size[1])
{echo "height=160";}else{echo "width=160";};
echo "></td></tr>";
}
?>
</tbody></table>

Allerdings erscheint in der HTML-Datei dann erstaunlicherweise(?) ein Link function.getimagesize und wenn ich den anklicke (dass es ein anklickbarer Link ist, hab ich erst gerade gemerkt), öffnet sich http://localhost/function.getimagesize (ich arbeite lokal mit XAMPP) und dort steht drin:

Not found. The requested URL /function.getimagesize was not found on this server.

Muß ich PHP-Funktionen erst irgendwie als Bibliotheken extra einbinden? Auch bei öffentlichen Servern oder nur lokal?

31.05.2007 20:53 | geändert: 31.05.2007 20:54

20 Jörg Kruse

Ja, dann ist klar, wodurch der Fehler zustande kommt: PHP wertet das "/" als Distributionsoperator. Die Strings müssen in Anführungszeichen gesetzt werden, den Gesamtstring kannst du dann mit dem Zeichenkettenoperator zusammensetzen:

$size=getimagesize($bilderdir . "/" . $bilder[$j] . ".jpg");

PS: der Link aus der Warnung sollte wohl auf das PHP-Manual verweisen

31.05.2007 21:04 | geändert: 31.05.2007 21:05