# In einer Signatur random bilder anzeigen lassen



## Amr0d (11. Mai 2005)

Hallo,

ich hoffe mal das das nicht die falsche Kategorie ist, manchmal möchte man ja in Foren ein Bild in seine Signatur machen weil es teilweise witzig ist oder wie auch immer. Dann kommt es vor das man irgendwann noch ein tolles Bild findet aber immer nur eins in der Signatur anzeigen kann. Ich würde gerne wissen ob es möglich ist das man jedes mal wenn aktualisiert wird ein anderes Bild angezeigt wird. Quasi eine datei in der drinsteht das er aus diesem Verzeichnis ein Bild anzeigen soll, welches ist dabei egal. Ich habe soetwas mal in einem englischen Forum gesehen nur mit Avataren. Jedesmal beim aktualisieren gabs einen anderen Avatar. Wie geht soetwas.

Danke fürs lesen

Philipp

Schuldigung das ich random geschrieben habe aber mir viel kein geeignetes deutsches wort ein


----------



## redlama (11. Mai 2005)

So könnte es gehen:
	
	
	



```
<?php
$rand = rand(1, 3);
echo "<img src='bild".$rand.".jpg' alt='bild".$rand.".jpg' />";
?>
```
Dabei wird bei rand() von 1 bis 3 ein zufällige Zahl bestimmt.
Die Bilder haben den Namen bild1.jpg, bild2.jpg und bild3.jpg.
Und so werden sie dann zufällig angezeigt.
Übrigens zufällig wäre ein gutes deutsches Wort für random! 

redlama


----------



## Amr0d (11. Mai 2005)

Und wie könnte ich das dann noch Signatur kompatibel machen? Ich denke dabei an BB Code oder so weil PHP funktioniert ja nicht einfach so in einer Signatur


----------



## redlama (11. Mai 2005)

Na ja, Du musst den rand()-Code an der Stelle in den Code einfügen, der für die Anzeige der Signatur zuständig ist.
Wo genau und welcher das ist, kann ich Dir leider nicht sagen.
Evtl. musst Du den rand()-Code auch noch ein wenig anpassen (bzgl. der Bildernamen oder so).

redlama


----------



## dkf (11. Mai 2005)

redlama hat gesagt.:
			
		

> Na ja, Du musst den rand()-Code an der Stelle in den Code einfügen, der für die Anzeige der Signatur zuständig ist.
> Wo genau und welcher das ist, kann ich Dir leider nicht sagen.
> Evtl. musst Du den rand()-Code auch noch ein wenig anpassen (bzgl. der Bildernamen oder so).
> 
> redlama



Naja, ich denk, er will das nicht in sein Forum implementieren, sondern in fremden Foren publizieren.

D.H.: du bastelst dir eine PHP-Datei, die du z.B. so nennst: "signatur.jpg"
Als Inhalt sollte folgendes reichen:

```
<?php
header("Content-Type: image/jpg");
$rand = rand(1, 3);
readfile("bild".$rand.".jpg");
?>
```


----------



## Amr0d (11. Mai 2005)

dkf hat gesagt.:
			
		

> Naja, ich denk, er will das nicht in sein Forum implementieren, sondern in fremden Foren publizieren.
> 
> D.H.: du bastelst dir eine PHP-Datei, die du z.B. so nennst: "signatur.jpg"
> Als Inhalt sollte folgendes reichen:
> ...



Ja genau das wollte ich! Quasi in der Signatur unten ein Bild was bei jedem Reload sich ändert. Nur dummerweise funktioniert das jpg nicht 

Aber ginge sowas auch mit Texten?


----------



## dkf (11. Mai 2005)

Dann musst du den Text mit ins Bild schreiben.


```
<?php
$font = 1;
$breite = 710;
$hoehe = 240;
$text="TEST";
$bild = imagecreate($breite, $hoehe);
$weiss = imagecolorallocate($bild, 255, 255, 255);
$schwarz = imagecolorallocate ($bild, 0, 0, 0);
imagefilledrectangle($bild, 0, 0, $breite, $hoehe, $schwarz);
imagestring($bild, $font, 1, 1, $text, $weiss);
?>
```
^ ^ Ungetestet
Nur Copy&Paste aus einem Code-Schnipsel heraus.


Aber was funktioniert am obigen Code nicht?
Fehlermeldung?
Der Webspace muss natürlich PHP unterstützen.

[edit]
Die Bilder "bild1.jpg", "bild2.jpg" und "bild3.jpg" müssen natürlich im gleichen Verzeichnis exestieren.
[/edit]


----------



## Amr0d (11. Mai 2005)

Mein Webspace unterstützt PHP ne Fehlermeldung bekomme ich am obigen Code nicht sondern einfach nur das übliche weise kästchen mit rotem x drin 

Kann mir das nicht mal einer fertig machen soweit? Dein zu letzt geposteter Code sieht so aus

http://www.shootingamez.de/bild.jpg

Wirft einfach den Inhalt des jpg aus mehr nicht


----------



## _voodoo (11. Mai 2005)

Dann lass mal den Header weg und sieh dir die Fehlermeldung an


----------



## Amr0d (11. Mai 2005)

_voodoo hat gesagt.:
			
		

> Dann lass mal den Header weg und sieh dir die Fehlermeldung an



Leute bei mir kommt da keine Fehlermeldung egal was ich mache es kommt entweder der Code der in dem jpg drinsteht oder ein weißes kästchen mit nem roten x drin   tut mir echt leid aber mit fehlermeldungen kann ich nicht dienen


----------



## Jörg Rißmann (11. Mai 2005)

das bild darf nicht .jpg enden...
Woher soll PHP wissen, das es das interpretieren soll?
also in .php umbenennen.


----------



## Amr0d (11. Mai 2005)

Und wie kann ich es dann in einer Signatur benutzbar machen? Weil die meisten Foren ja nur BB Code anbieten


----------



## Jörg Rißmann (11. Mai 2005)

das bild heißt dann bild.php, das funktioniert!
genauso wie <img src="bild.php"> das  dann auch


----------



## Amr0d (11. Mai 2005)

Danke! Geht super, aber jetzt würde ich ganz gerne wissen ob das auch mit Texten möglich ist? Das man z.b. eine oder mehrere txt Dateien hat und in jeder ein Spruch drinsteht und php dann zufällig einen Spruch auswählt?


----------



## Jörg Rißmann (11. Mai 2005)

ja, in dem "bild" also im phpquelltext kannst du dich jetzt mit den imagefunktionen austoben 
EDIT: Rechtschreibung


----------



## Amr0d (12. Mai 2005)

und wenn ich eine Textdatei ausgeben möchte muss ich dann z.b.


```
<?php 
header("Content-Type: text/txt"); 
$rand = rand(1, 3); 
readfile("text".$rand.".txt"); 
?>
```

Das ist jetzt alles nur geraten weil ich kein PHP kann


----------



## Nils Hitze (12. Mai 2005)

Oben wurde dir diese Antwort bereits beantwortet.
http://www.tutorials.de/forum/showpost.php?p=1057937&postcount=7

Du kannst wohl kaum einen Text über das [ img ] Tag
von BB ausgeben, oder?


----------



## Amr0d (12. Mai 2005)

Nils Hitze hat gesagt.:
			
		

> Oben wurde dir diese Antwort bereits beantwortet.
> http://www.tutorials.de/forum/showpost.php?p=1057937&postcount=7
> 
> Du kannst wohl kaum einen Text über das [ img ] Tag
> von BB ausgeben, oder?



Der Text soll ja auch nicht in einem image Tag ausgegeben werden, wäre ja auch doof.
Bei Text muss dieser doch lediglich in die Sig geschrieben werden ohne jeglichen Tag. Wüsste jetzt nicht was das mit image zu tun hat. Deswegen habe ich wahrscheinlich auch diesen Post nicht richtig verstanden  eeehhhm eigentlich wollte ich nur das dort dann ein random text steht in der signatur kein bild oder so ein ganz normaler text der zufällig gewählt wird


----------



## Nils Hitze (12. Mai 2005)

Das kommt ganz darauf an, was dein Forenanbieter erlaubt.

Wenn HTML gesperrt ist, ist es unmöglich deine Idee 
umzusetzen ausser als Bild.


----------



## Amr0d (12. Mai 2005)

Ne also in dem Forum ist HTML erlaubt ist ja nur ein kleines von ein paar Freunden


----------



## dkf (12. Mai 2005)

Ceraph hat gesagt.:
			
		

> das bild darf nicht .jpg enden...
> Woher soll PHP wissen, das es das interpretieren soll?
> also in .php umbenennen.


^ ^ Natürlich! Da hatte ich mich wohl vertan... 

Grundsätzlich musst du nur ein weißes Quadrat erstellen und dort mit den image-Funktionen von PHP einen Text rein schreiben. So ist dieser Random-Text auch mit anderen Boards kompatibel, da es ja als Bild ins Forum eingefügt wird.

Und so funktioniert es jetzt auch:

```
<?php
header("Content-type: image/png");
$font = 3;
$breite = 400;
$hoehe = 100;
$text="Dies ist ein Test";
$bild = imagecreate($breite, $hoehe);
$weiss = imagecolorallocate($bild, 255, 255, 255);
$schwarz = imagecolorallocate ($bild, 0, 0, 0);
imagefilledrectangle($bild, 0, 0, $breite, $hoehe, $schwarz);
imagestring($bild, $font, 1, 1, $text, $weiss);
imagepng($bild);
imagedestroy($bild);
?>
```
http://dkf.virtues.net/div/sig/index2.php

[edit]
Aber hier im Forum funktioniert weder im Beitrag noch in der Signatur folgender Code:

```
[ img ]http://dkf.virtues.net/div/sig/index2.php[/ img ]
```
Warum?
[/edit]


----------



## Amr0d (12. Mai 2005)

dkf hat gesagt.:
			
		

> ^ ^ Natürlich! Da hatte ich mich wohl vertan...
> 
> Grundsätzlich musst du nur ein weißes Quadrat erstellen und dort mit den image-Funktionen von PHP einen Text rein schreiben. So ist dieser Random-Text auch mit anderen Boards kompatibel, da es ja als Bild ins Forum eingefügt wird.
> 
> ...



Sehe ich das richtig das der Text aber jetzt gar nicht zufällig gewählt ist sondern ein festgelegter?


----------



## Jörg Rißmann (12. Mai 2005)

ja, das siehst du richtig.
die variable $text wird ja fest wiedergegeben.

sonderwünsche kosten immer aufpreis


----------



## dkf (12. Mai 2005)

```
<?php
header("Content-type: image/png");
$rand = rand(0, 2);
$font = 3;
$breite = 400;
$hoehe = 100;
$text[]="Dies ist ein Test";
$text[]="Und der 2. Test";
$text[]="Alle guten Dinge sind...";
$bild = imagecreate($breite, $hoehe);
$weiss = imagecolorallocate($bild, 255, 255, 255);
$schwarz = imagecolorallocate ($bild, 0, 0, 0);
imagefilledrectangle($bild, 0, 0, $breite, $hoehe, $schwarz);
imagestring($bild, $font, 1, 1, $text[$rand], $weiss);
imagepng($bild);
imagedestroy($bild);
?>
```

PS: Meine Güte, bin ich heute nett ;-]


----------



## Amr0d (13. Mai 2005)

Man ihr seid so freundlich danke


----------



## Callboy (13. Mai 2005)

Hi,

also bei mir funktioniert der Quelltext da oben gar nicht... 
Habe dies Kopiert und dennoch klappt es nicht...
Die Datei zeigt mir nur so komische Zeichen (hyroglyphen)...

Bitte um Hilfe !

MfG
Callboy


----------



## Q-Dog (26. Juli 2005)

dkf hat gesagt.:
			
		

> [edit]
> Aber hier im Forum funktioniert weder im Beitrag noch in der Signatur folgender Code:
> 
> ```
> ...




Die Frage würde ich gerne nochmal aufgreifen

Habe auch ein Slogan für die Sig. eines Forums erstellt Klick mich an

jedoch kann ich es per [ img ]  [ /img ] nicht in die Sig. einbinden und das obwohl BBCodes an sind -> warum? :-/

es steht dann ganz normal der code [ img ] link [ /img]

/e
habs allerdings nen bissl anders gemacht als hier beschrieben, mit ner textfile die ausgelesen wird, wo dann die url des bildes steht
aber ich denke, daran wirds wohl net liegen


Mfg Q-Dog


----------



## Jörg Rißmann (26. Juli 2005)

Naja, grundsätzlich ist es möglich, das der Programmierer des Forums nicht die header abfragt, sondern nur die Dateiendung validiert.
Ist in dieser Variante nur jpg,gif und png erlaubt, hast du keine Chance.


----------



## Q-Dog (26. Juli 2005)

aso hmm mist :-/

ist es irgendwie möglich, das nach dem auslesen des bildes aus der textfile das bild wiederrum unter bild.jpg abgespeichert wird?

so würde dies immer wieder überschrieben werden von dem bild, was gerade per random ausgewählt wurde.

oder hat noch jmd ne idee? ^^



Mfg Q-Dog


----------



## Jörg Rißmann (26. Juli 2005)

Das abspeichern ist natürlich möglich, aber du musst ja das Bild dann immer neu generieren lassen.
Dazu musst du das Skript aber neu aufrufen und das geht dann nur über nen CronJob.....


----------



## n00ne (26. Juli 2005)

Auf die Schnelle fallen mir da zwei Lösungen ein:

Nummer 1 - die Trickreiche:
Leg einfach einen Ordner namens bild.gif an und lege darin deine slogan.php als index.php ab. Im forum gibst du dann nur die Adresse des Ordners mit dem Bildnamen an. Das Skript denkt dann es wär ein Bild (.gif) und akzeptiert deine Angabe. Tatsächlich aufgerufen wird aber die index.php, die in diesem Ordner liegt.

Sollte eigentlich funktionieren. Wenn nicht, gibts hier
die zweite Variante - mod_rewrite:
Mit Hilfe einer htaccess-Datei könntest du einfach eine Adresse wie slogan.gif auf deine slogan.php umleiten. Demzufolge kannst du dann im Forum ganz einfach slogan.gif anstelle von slogan.php angeben.
Nähere Informationen zu mod_rewrite findest du auf http://www.modrewrite.de

Greetings,

André


----------



## Q-Dog (26. Juli 2005)

ok vielen dank, ich probiers ma aus 



Mfg Q-Dog


----------

