MyBB.de Forum
Täglich wechselner Avatar - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Sonstiges (https://www.mybb.de/forum/forum-1.html)
+--- Forum: Programmierung (https://www.mybb.de/forum/forum-32.html)
+--- Thema: Täglich wechselner Avatar (/thread-12888.html)

Seiten: Seiten: 1 2


Täglich wechselner Avatar - aTCWiki - 06.04.2009

Hallo,

ich hätte gerne einen Avatar im Forum der jeden Tag wechselt. Aber nur zwischen denen die ich vorgebe.

Wie lässt sich sowas richtig machen?

Ich hätte nur eine Idee:
Avatar per URL ins Forum verlinken und auf der dortigen Seite irgendwie die Bilder wechseln lassen. Nur wie? Und haben sie nicht alle unterschiedliche Adressen?


Könnt ihr mir helfen?


Mit freundlichen Grüßen,

aTCWiki Wink


RE: Täglich wechselner Avatar - frostschutz - 06.04.2009

Ja, per URL, die per mod_rewrite auf eine php-Datei umleitet, die je nach Datum eine andere JPEG-Datei zurückwirft. Alternativ per Datei, und auf dem Server der die Datei hostet ein Cron-Job, der die Datei jeden Tag durch eine andere ersetzt.


RE: Täglich wechselner Avatar - aTCWiki - 06.04.2009

Ich danke dir. Die erste Möglichkeit würde ich begrüßen da für die zweite sicherlich ein seperates Programm benötogt wird.

Könntest du mir wenn ich ganz nett Frage die Inhalte der Dateien posten die ich dafür benötige? Sodass ich nur die Links der Bilder einfügen muss? Smile

Per Zufall oder gezielt nach Datum spielt keine Rolle.

Wäre sehr lieb von dir. Smile


Mit freundlichen Grüßen,

aTCWiki Wink


RE: Täglich wechselner Avatar - querschlaeger - 06.04.2009

Hi,

also eine PHP-Datei, welche ein Bild anzeigt beim Aufruf hat z.B. folgenden Inhalt

PHP-Code:
<?php
header
("Content-type: image/gif");
readfile("http://www.google.de/intl/de_de/images/logo.gif"); 

Du musst halt nur noch ne Abfrage einfügen, welcher Tag ist (date()-Funktion benutzen) und dementsprechend den obigen Code mit gewünschten Bild ausgegeben lassen.


RE: Täglich wechselner Avatar - aTCWiki - 06.04.2009

(06.04.2009, 21:17)querschlaeger schrieb: Du musst halt nur...

Ich danke dir schonmal für die Mühe aber leider kenne ich mich nur mit HTML aus. Wenn jemand ein wenig Zeit zuviel hat könnte er mir dann die Inhalte der paar Dateien posten die ich benötige? Smile


RE: Täglich wechselner Avatar - MaR-V-iN - 07.04.2009

PHP-Code:
<?php
//URLs zu Gif-Bildern hier eintragen (durch "," getrennt)
$gifs = array(
"http://www.google.de/intl/de_de/images/logo.gif",
"http://www.google.de/logos/summersolstice08.gif",
"http://www.google.de/logos/waltergropius.gif",
"http://www.google.de/logos/laser08.gif",
"http://www.google.de/logos/earthday08.gif",
"http://www.google.de/logos/lego08.gif"
);
//---------------------------
header("Content-type: image/gif"); //Als gif ausgeben
$gifcount count($gifs);
$time time(); //Aktuelle Uhrzeit erfassen
$time $time 86400//Umrechnen (24h=86400, 1h=360, sekundengenaue Angabe)
$time round($time);
$gif $time $gifcount;
$url $gifs[$gif];
readfile($url); 
?>

Beispiel (ändert sich jede Minute):
[Bild: http://das-computer-board.de/chlogo.php]
http://das-computer-board.de/chlogo.php


MFG


RE: Täglich wechselner Avatar - aTCWiki - 07.04.2009

Funktioniert tadellos! Ich danke dir. Selbst mit 88 Bildern arbeitet es perfekt.

Vielen Dank! Wink


RE: Täglich wechselner Avatar - TMF - 23.05.2009

Hallöchen.

Ich hab mir das etz ma eben durchgelesen und find das echt genial.
Hier sei erwähnt das ich keinen Plan von PHP habe Wink aber ich probiers.

und zwar geht es um folgendes:
Ich find des voll genial sein Avatar ändern zu lassen.
Mein problem ist aber, das ich etwa 30 Avatare hätte und auch ständig welche hochlade.
Ich weiß jedoch das es die Möglichkeit gibt, den Ordnerinhalt mit einem dir() kommando oder so auzulesen.

Im Internet hab ich das hier gefunden, jedoch hab ich keinen plan, was des mit dem XML auf sich hat.

PHP-Code:
<?php
/*
* Liest die Dateien des unter $ordner angegebenen Ordners aus
* und erzeugt eine XML-Datei mit dem Pfad zu jeder Datei,
* welche die unter $erweiterung angegebene Dateinamenerweiterung hat
*/

$ordner      "bilder";
$handle      opendir($ordner);
$erweiterung "jpg";


echo 
"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
echo 
"<bilder>\n";

while (
$datei readdir ($handle)) {

  if (
$datei != "." && $datei != "..") {
      
$separiert explode("."$datei);
        if(
$separiert[1] == $erweiterung) {
      echo 
"<bild pfad=\"" $datei "\" />\n";
        }
  }
}

closedir($handle);

echo 
"</bilder>";
?>

Könnte ich es jetzt (wie gesagt, ich hab keine Ahnung) so machen, das die Links automatisch eingefügt werden? Ich hab mir hier mal was zusammengeschnipselt:
PHP-Code:
<?php
//URLs zu Gif-Bildern hier eintragen (durch "," getrennt)
$gifs = array(
//das hab ich aus dem Script von oben
$ordner      "bilder";
$handle      opendir($ordner);
$erweiterung "jpg" "gif"//**hier weis ich nicht, ob das so funtioniert...gehts?

while ($datei readdir ($handle)) {

  if (
$datei != "." && $datei != "..") {
      
$separiert explode("."$datei);
        if(
$separiert[1] == $erweiterung) {
      echo 
"\"" $datei "\"\,\n";  // **bei dem \, vor dem \n weis ich auch net, ob des so geht, das die richtig erscheinen
        
}
  }
}

closedir($handle);

);
//---------------------------
header("Content-type: image/gif"); //Als gif ausgeben
$gifcount count($gifs);
$time time(); //Aktuelle Uhrzeit erfassen
$time $time 86400//Umrechnen (24h=86400, 1h=360, sekundengenaue Angabe)
$time round($time);
$gif $time $gifcount;
$url $gifs[$gif];
readfile($url); 
?>

Jetzt hab ich noch ein paar Kommentare in des Script reingemacht... ich hab sie ma mit ** markiert.
Funktioniert das so wie ich mir das denke?

und was muss ich einstellen das ich als avatarurl ein .php pfad eingeben kann?



****EDIT****

Sodale, etz hab ich weiterprobiert, und herrausgefunden, das der Code so lauten müsste:
PHP-Code:
<?php
//URLs zu Gif-Bildern hier eintragen (durch "," getrennt)
$gifs = array(
//das hab ich aus dem Script von oben
$ordner      "../bilder");
$handle      opendir($ordner);
$erweiterung "jpg";

while (
$datei readdir ($handle)) {

  if (
$datei != "." && $datei != "..") {
      
$separiert explode("."$datei);
        if(
$separiert[1] == $erweiterung) {
      echo 
"\"" $datei "\",\n";  // **bei dem \, vor dem \n weis ich auch net, ob des so geht, das die richtig erscheinen
        
}
  }
}

closedir($handle);

;
//---------------------------
header("Content-type: image/gif"); //Als gif ausgeben
$gifcount count($gifs);
$time time(); //Aktuelle Uhrzeit erfassen
$time $time 30//Umrechnen (24h=86400, 1h=360, sekundengenaue Angabe)
$time round($time);
$gif $time $gifcount;
$url $gifs[$gif];
readfile($url); 
?>
Das kommt dabei herraus, wenn ich alle Fehler die der Browser meldet behebe. Schön und gut, jedoch kommt etz die fehlermeldung:
Die Grafik "http://bloody-water.de/bilder/bot.php" kann nicht angezeigt werden, weil sie Fehler enthält.

Ich komm nichtmehr weiter, weis jemand rat?
Liebe Grüße
TMF
OKe, leider geht die Edit Funktion nichmehr, drumm sry für den Doppelpost.

Also, ich habe eine "Lösung gefunden" leider ist das nicht so das wahre... ich habe eine Datei namens 1.php.
Inhalt 1.php:
PHP-Code:
<?php

$ordner      
"../bilder";
$handle      opendir($ordner);
$erweiterung "jpg" AND "gif"//weis net ob des so geht, es kommt auf jeden fall keine fehlermeldung


while ($datei readdir ($handle)) {

  if (
$datei != "." && $datei != "..") {
      
$separiert explode("."$datei);
        if(
$separiert[1] == $erweiterung) {
echo 
"\"http://*domain*.de/bilder/" $datei "\",\n";
        }
  }
}

closedir($handle);

?>
und dann den Inhalt der Seite aus dem Browser kopiert und in das Script von Marvin eingefügt.
Aber das gefällt mir nochnicht so wirklich... gibt es eine Möglichkeit das "Ergebnis" der 1.php in das $gif = array ( [hier rein] ); einzufügen? ohne das ich ständig wenn ein neues Bild dazu kommt alles neu machen muss.

Und wie bekomme ihc es hin, dieses sich ändernde Avatar ins Forum bekomme? für den Link zur .php bringt er mir immer nen Fehler.
Ah, ich hatte nen Fehler in der URL... das letzte hat sich also erledigt..


RE: Täglich wechselner Avatar - Michael - 24.05.2009

Dieses Skript sollte alle Dateien in dem Order auslesen und zufällig ein Bild zurückgeben:
PHP-Code:
<?php
$ordner 
"../bilder";
$handle opendir($ordner);
$bilder = array();

while (
$datei readdir ($handle))
{
    if (
$datei != "." && $datei != "..")
    {
          
$bilder[] = $datei;
    }
}

$zufallsbild rand(0count($bilder));
?>



RE: Täglich wechselner Avatar - TMF - 24.05.2009

Mhm, danke Michi, aber ich glaube das 2uhr n bissl zu spät ist Wink
Es funktioniert nicht Wink

Was mir aufgefallen ist: nach "../bilder" ist ne ) die da net hinmuss
und das ?> am ende fehlt, jedoch funktioniert es dann immernochnicht -.-