Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Problem mit Zufallsbild! [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Problem mit Zufallsbild!


 
slowly
29-11-2009, 14:05 
 
Hallo Leute,
ich komme eigentlich aus einem anderen Bereich. Ich versuche nur meine Homepage für 2010 zu überarbeiten, habe aber nicht viel Ahnung von php oder HTML!

Mein Problem:
Nach dem ich also PHP online habe, habe ich mal etwas gebaut! Das Ziel war aus einem Ordner mit Bildern ein Zufallsbild auf die Seiten meiner Homepage zu bekommen! Dafür habe ich im Netz folgendes gefunden!

Eine php Seite:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Unbenanntes Dokument</title>
</head>

<?php
$vn = "./wechsel";
$verzeichnis = opendir($vn);
while($file = readdir($verzeichnis)) **
$s = @getimagesize($vn."/".$file);
if(in_array($s[2], array(1,2,3)))
$auswahl[] = $file;
}
mt_srand((double)microtime()*1000000);
$number = mt_rand(0,count($auswahl)-1);
echo "<img src='".$vn."/".$auswahl[$number]."'>";
?>

<body>
</body>
</html>

Dann auf die Seite wo das Zufallsbild gezeigt werden soll:

<?php include ("wechsel.php"); ?>

Dieses PHP Skript funktioniert auch. Nur wird das Bild in normaler Größe angezeigt. Ich möchte es aber kleiner anzeigen lassen. Also so ca. 120x120!

Kennt sich vielleicht jemand mit PHP aus und kann mit sagen, wie ich das Skript ändern muss?
Ich habe hier schon viel gelesen, aber auch nach vielen Anpassungen habe ich es nicht geschaft!

 
unset
29-11-2009, 14:56 
 
Erstmal benutze bitte die PHP-Code Tags, um deinen PHP-Quelltext mit Farbe und Monospace-Schrift zu versehen.

Zu deinem Problem: Du könntest entweder das Bild herunterrechnen und azsgeben. Dazu müsstest du allerdings sowohl in der Ausgabe, als auch in der Datei, in der die Grafik angefordert wird etwas ändern. Alternativ machst du aus der Zeile hier

echo "<img src='".$vn."/".$auswahl[$number]."'>";

einfach

echo "<img height='120' width='120' src='".$vn."/".$auswahl[$number]."'>";

Das ist allerdings sehr quick und noch mehr dirty!

 
AmicaNoctis
29-11-2009, 15:23 
 
Ergänzung zu unset:

vor die schließende Spitzklammer des img-Elements gehört jeweils noch ein Leerzeichen und ein Slash, also " />" statt ">" (nur bei img), weil du einen XHTML Doctype verwendest.

 
slowly
29-11-2009, 15:58 
 
Leider scheint es nicht so zu funktionieren!

Ich habe jetzt diese Veränderungen versucht!

echo "<img height="120" width="120" src='".$vn."/".$auswahl[$number]."'>";

oder

echo "<img height="120" width="120" src='".$vn."/".$auswahl[$number]."'/>";

Aber beide geben die Bilder in original Größe aus.

 
unset
29-11-2009, 16:46 
 
Ich hab meinen Post überarbeitet, da hatte sich ein Fehler reingeschlichen. Übrigens, weil dein Code nicht gehighlightet wurde, durch die PHP-Tags ... die du ja immer noch ein eingebaut hast!

 
AmicaNoctis
29-11-2009, 16:51 
 
Wenn die Bilder auf diese Weise in eine Seite eingebettet werden, werden sie auch 120x120 (jeweils px) ausgegeben, insofern ist deine Aussage entweder Quatsch oder das Fehlverhalten nicht genau beschreiben:

Wenn du nämlich meinst, dass die Bilder auch nochmal einzeln in irgendeinem Fenster geöffnet werden (also ohne HTML-Seite drumherum), dann werden sie immer in Originalgröße angezeigt und das lässt sich auch nicht ändern. Du kannst lediglich die Originalgröße ändern, indem du z. B. alle Bilder in einen zusätzlichen Ordner kopierst und dort alle verkleinerst.

Edit: Wenn es an dem von unset inzwischen korrigierten Fehler lag, hätten die Bilder gar nicht angezeigt werden dürfen und stattdessen eine PHP-Fehlermeldung.

 
slowly
29-11-2009, 17:18 
 
So, ich habe es nun hinbekommen! Danke Jungs! Ich habe die falsche Zeile ausgetauscht!!!! :( So ist das wenn man eigentlich keine Ahnung hat!!! ;)

Es wird noch etwas dauern bis ich die Seiten alle neu habe, werde als nächstes eine Gallery einbauen und dann alle alten Seiten auf die neue Vorlage anpassen!

Werde aber schnell mal schauen, was ihr hiermit meint!

Erstmal benutze bitte die PHP-Code Tags, um deinen PHP-Quelltext mit Farbe und Monospace-Schrift zu versehen.

Danke noch mal! :)


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:47 Uhr.