Status
Für weitere Antworten geschlossen.
K

kryder

Guest
Hallo zusammen!!
Wollte fragen ob jemand mir helfen kann: suche ein script (mit möglichst keiner datenbank) das jeden tag ein neues bild anzeigt... hab zwar eins (java) aber das passt die bilder net an bzw zeigt keine vorschau die man dann per klick vergrößern könnte.
kann das nicht genau erklären, aber beispiele vllt:
Please, Anmelden or Registrieren to view URLs content!
oben rechts das POTW, mit dieser vorschau will ich des haben.
Please, Anmelden or Registrieren to view URLs content!
rechts, so hab ichs jetzt.
mein script (eingebunden mit iFrame auf der seite):

<SCRIPT LANGUAGE="JavaScript">
<!-- Upload 31 images to your website. Name them: image1.jpg through image31.jpg -->
var dt = new Date();
var hr = dt.getDate();
var msg="<IMG SRC=image"+hr+".jpg>";
document.write(msg);
</SCRIPT>

 

andreaskf

Well-known member
Mitglied seit
29 April 2004
Beiträge
592
Re: POTD Script

Hallo kryder.

Leider hast Du nicht geschrieben ob Du auch PHP nutzen kannst. Sollte das der Fall sein, dann könntest Du evtl. das folgende einsetzen was ich schnell erstellt habe:

<? $img_date = date("Ymd").".jpg"; ?><img src="<? echo $img_date; ?>" border="0" alt="[bILDATTRIBUT]" width="[bREITE]" height="[HÖHE]">


Wenn Du nun den Bildern den Namen als Datum gibst, im Format: JJJJMMTT, dann funktioniert es das täglich ein neues Bild angezeigt wird.

Ich hoffe es kann helfen....
miG

 
K

kryder

Guest
Re: POTD Script

Super Sache! Funktioniert einwandfrei! Vielen Dank!!
Aber noch eine blöde frage sei mir gestattet^^ ists möglich auch irgendwie in das script einzubauen das jeden tag ein "random" bild aus einem ordner genommen wird?? also das ich quasi 100 pics in einem ordner auf meinem server hab und dann jeden tag ein neues abgefragt wird, aber halt random/zufalls-mäßig...

edit: also bei mir funzt alles super (mit Firefox, 1280x1024) ABER:

Internet Explorer:
spacer.png


Opera:
spacer.png


Firefox (so solls aussehn!)
spacer.png


Kannst du mir sagen wo der Fehler ist bzw wie ich das beheben kann???

Editiert am 27/7/2006 von kryder

 

andreaskf

Well-known member
Mitglied seit
29 April 2004
Beiträge
592
Re: POTD Script

Hallo.

zur Frage Random
Ja, das ist möglich. Problem dabei ist aber das es sich a) um Zufall handelt, was soviel bedeutet wie "kann sein, das hier ein Bild in wenigen Tagen auch 2mal ausgewählt wird" und b) das bedarf einer Datenspeicherung, damit auch den ganzen Tag das gleiche Bild erscheint. Dazu ist zwar keine DB notwendig, doch Textdateien sollten schon machbar sein. Um Dir hier aber weiter helfen zu können, brauch ich mehr Angaben, was Deinen Code betrifft, und welche Möglichkeiten Du letztendlich nutzen willst/kannst.

zur Frage Fehlerhafte Anzeige:
Auch hier könnte ich Dir helfen, doch mit den Grafiken allein ist es nicht getan. Ich benötige Quellcode, denn der Fehler kann nur darin stecken und leider nicht in einem Bild.....
Was ich sehen konnte ist, das Du hier ein <iframe...> nutzt. Das wäre die erste Frage: Warum ?
Also an Quellcode bräuchte ich dann den Bereich, der Dein <iframe > umfasst, und den von der Seite, von welcher Du es einbindest und worin die Funktion untergebracht ist.

Mit mehr Angaben kann ich Dir dann auch weiterhelfen bei Deinem Vorhaben......

miG

Editiert am 28/7/2006 von andreaskf

 
K

kryder

Guest
Re: POTD Script

Hallo!
Also, benutze die Siete
Please, Anmelden or Registrieren to view URLs content!
wegen dem WYSIWYG editor und den layouts.
ich benutze iFrame weil der code sonst nicht klappt, da der code auf den server von hp-baukasten net zugreifen kann, auf meinen webspace jedoch schon...

Mein hoster für die HTML seite im iFrame bereich ist onetwovisit.net, hab da alle möglichkeiten was codes angeht (Ist halt FTP-Server).

eingebunden ist der iFrame in die rechte box auf meiner seite (kryder.de.tl) (kann die rechte box im editor verändern, also hab ich da den iFrame code eingefügt).

Einziger Code der HTML seite mit dem POTD ist der eigentliche POTD code, nix anderes. Die Seite ist
Please, Anmelden or Registrieren to view URLs content!
bzw jetzt (wegen dem fehler)
Please, Anmelden or Registrieren to view URLs content!
(klappt in jedem browser).

iFrame code:
<iframe id="frmTest" height="240" width="180" src="http://brause.onetwovisit.net/index.html"> </iframe>

Jetziger POTD Code (den ich ja nicht mehr will weil er unpraktisch ist)
<SCRIPT LANGUAGE="JavaScript">
<!-- Upload 31 images to your website. Name them: image1.jpg through image31.jpg -->
var dt = new Date();
var hr = dt.getDate();
var msg="<IMG SRC=image"+hr+".jpg>";
document.write(msg);
</SCRIPT>

Dein Code, der im Firefox super klappt und den ich haben mag:
<? $img_date = date("Ymd").".jpg"; ?>

<img src="<? echo $img_date; ?>" border="0" alt="[bILDATTRIBUT]" width="[200]" height="[280]">

(Die Parameter für Höhe/Weite waren halt jeweils angepasst was iFrame und POTDcode angeht!)
Das mit dem Random würde mir gefallen, auch wenn es zweimal dieselben pics sein könnte... was meinst du genau mit textdokumenten??

Editiert am 29/7/2006 von kryder

 

andreaskf

Well-known member
Mitglied seit
29 April 2004
Beiträge
592
Re: POTD Script

Hallo.

Ich will mal versuchen einige Details die mir aufgefallen sind zu erläutern, so das Du diese abändern kannst.

1. Scrollbalken um die Bilder.
Hier meine ich insbesondere den unteren für die Rechts/Links Verschiebung. Wenn Du auf der Seite, die in dem <iframe> aufgerufen wird die Positionierung durch das einbringen des Bodytags einbaust, so kann Du das Bild schon mal oben links in die Ecke stellen. Dann sollte der Scrollbalken weg sein. Am besten an den Anfang der Seite folgendes einsetzen:

<body topmargin="0" leftmargin="0" marginwidth="0" marginheight="0">

und ans Ende </body> nicht vergessen.

2. Fehler im Opera
Da kann ich leider nur eine Vermutung anstellen, die so aussieht, das entweder der Opera einen Größenbefehl ignoriert (unwahrscheinlich) oder über eine "Zoomfunktion bei Bilddarstellung". Doch ich denke da dieser Browser nur zu einem sehr geringen Teil eingesetz wird, könnte man dieses Problem ganz ans Ende stellen und dann später mal lösen.

3. Fehler im IE
Das ist eigentlich gar kein Fehler, sondern eine Werbeeinblendung Deines Anbieters. Das ist so eine Eigenschaft mancher Gratisanbieter... denn es gibt n ix umsonst. Ob man dieses unterbinden kann ? Sicher, doch dazu müßte man erst genau wissen welche Technik die einbinden. Doch es sei gleich dazu gesagt, einfach ist das nicht.... Wenn Du also nicht den Anbieter wechseln willst, dann wirst Du damit Leben müssen.

So, damit wären zumindest schon mal die Fehler geklärt.... Sei noch dazu gesagt, das man nicht für eine bestimmte Bildschirmauflösung programmieren soll, da es einfach immer noch zu viele Unterschiedliche gibt. Aus beruflichen Gründen beschäftige ich mich natürlich auch mit so etwas, und kann daher sagen, das der aktuelle Stand bzw. die Mehrheit aller User (laut Messungen und Umfrage) immer noch zwischen 800*600 und 1024*768 liegt. Ca. 50:50. Lediglich die "jüngeren" User (bis 30) verwenden bereits zu 40% eine größere Auflösung.

Thema Zufallsgenerator
Hier wäre es Sinnvoll wenn die Bilder (der Einfachkeit halber) durchnummeriert sind. also zB von 1-100. Das Dateiformat sollte dann auch immer gleich sein um es einfach zu machen.

Nun benötigst Du einen leeren Ordner (ich nenn ihn hier im Beispiel mal ORDNER).
Nun zu dem Prozeß der Dir diese "Zufallsauswahl" ermöglicht:

$datum = date("d_m_Y");$txtfile = "ORDNER/".$datum.".txt";if(file_exists($txtfile)) {$fp = fopen($txtfile,"r"); if ($fp) { while (!feof($fp)) { $zeile = fgets($fp, 100); } fclose($fp); }$bild = $zeile.".jpg" // sofern es sich um jpg-Dateien handelt} else {$zufall = rand(1,100); // in Klammern Anfangswert und Endwert$fp = fopen("$txtfile","a"); if ($fp) { fputs ($fp, "$zufall"); fclose($fp); }} ?><img src="<? echo $bild; ?>" border="0" width="100" height="100" alt="ALTERNATIV TEXT">


kurze Erklärung:
zunächste wird das Datum ermittelt und geprüft ob es bereits eine Textdatei im Verzeichnis ORDNER schon gibt. Wenn dieses der Fall ist, so wird diese gelesen, und zum Schluß wird daruas das Bild ermittelt.
Wenn dieses nicht so ist, dann wird eine neue Textdatei mit dem aktuellen Datum erstellt, die Zufallszahl reingeschrieben, und abschließend im Verzeichnis ORDNER gespeichert.
So wird dann jeden Tag immer nur eine Zufallszahl gespeichert und verwendet. Je größer die Auswahl ist, um so unwahrscheinlicher ist eine Wiederholung (jedoch wie bereits erwähnt nicht auszuschließen bei dieser einfachen Variante)

Nun mag es sicher den ein oder anderen geben, der sagt, das kann man doch auch einfacher schreiben - dazu nur folgendes:
Ich habe diesen Weg gewählt, damit auch der es verstehen kann, der weniger Ahnung von PHP hat.

Ich denke Du solltest nun einmal ausprobieren ob Du es so hinbekommst. Leider hatte ich noch keine Zeit es zu testen, daher also erst einmal ohne Gewähr. Bei Problemen dann wieder melden....

miG

 
K

kryder

Guest
Re: POTD Script

Heyho!
Danke für deine ausführliche antwort!!!
Problem: Parse error: parse error, unexpected '}' in /srv/www/web163/html/index3.php on line 28

wobei ich nicht weiß ob ich alles richtig gemacht habe... auf dem ftp habe ich dem ordner ORDNER die attribute "beschreiben, ausführen, lesen" gegeben, bei allen benutzegruppen... auf meinem rechner (also offline quasi) wird beim aufruf des codes ein bild (also "kaputtes" bild bzw nicht anzeigbar) gezeigt, also kann der code nicht falsch sein,oder?!

bodytag hab ich eingebaut, bringt aber bei dem bildformat von heute z.b. nichts... (deshalb wollt ich halt dieses php script einbauen das die bilder automatisch formatiert...).

wenn dein erstes php script keinen "fehler" hat dann werd ich das wohl einbauen...

Vielen vielen Dank nochmal für die Mühe!!

 

andreaskf

Well-known member
Mitglied seit
29 April 2004
Beiträge
592
Re: POTD Script

Hallo.

Also, dieser Fehler besagt, das hier eine { Klammer zuviel oder zu wenig ist, oder ein anderes wichtiges Zeichen fehlt.
Habe mir mein Script noch mal angesehen, und mußte feststellen, das tatsächlich etwas fehlt. Ändere folgende Zeile bitte um:

alt

$bild = $zeile.".jpg" // sofern es sich um jpg-Dateien handelt

neu

$bild = $zeile.".jpg"; // sofern es sich um jpg-Dateien handelt


Hinter ".jpg" habe ich ein Semikolon vergessen... upps und sorry

gib Bescheid wenn noch was ist....

miG

 
K

kryder

Guest
Re: POTD Script

so, funktioniert auf allen browsern super. im IE nervt zwar die werbung aber ist net schlimm... vielen vielen dank!!!!! hast mir sehr geholfen!!

 

andreaskf

Well-known member
Mitglied seit
29 April 2004
Beiträge
592
Re: POTD Script

Hallo kryder.

Das mit der Werbung ist wie gesagt sehr störend. Die erscheint allerdings bei mir auf allen Browsern, zumindest wenn die Seite zum ersten Mal eingelesen wird.
Daran kann man sehen wiviel "kostenlos" bei diesem Anbieter kostet....

@ all
Sollten auch andere diese Funktion benutzen wollen - nur zu. Ich habe die ja selbst geschrieben und gebe sie gerne für alle frei - ohne Copyright und so nen Kram - selbstverständlich......

miG

 
Status
Für weitere Antworten geschlossen.
Oben