Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

Übungsaufgabe - Bitte mitmachen





Frage

Hallo Leute, [b] Übungs-Aufgabe an alle!!! (speziell PHP-Anfänger):[/b] Gibt es eine Möglichkeit, mit reinem html und PHP eine Slideshow / Diahow zu coden, die automatisch weiterläuft? D.h., wenn ich z.B. 10 Bilder habe, sollen diese automatisch beim Aufruf der Site im Browser nacheinander angezeigt werden (ohne zutun des Surfers). [b] [i] Bitte beachtet die unten aufgeführten Regeln für diese Aufgabe[/i][/b] An alle PHP-Profis: Lasst den Anfängern bitte auch eine Chance, eine Lösung zu finden!!! Ich werde in bestimmten Abständen Tips geben, falls es keine Lösungen geben sollte! [b]Aufgabe: Erstelle eine Slideshow, die automatisch weiterläuft (z.B.: 10 Bilder, die der Reihe nach angezeigt werden (ohne zutun des Surfers), sobald die Site aufgerufen wurde! Regeln: -Slideshow darf aus nur einer Datei bestehen !!! -verwende nur html und PHP !!! -kein Javascript -kein Java -keine Datenbank -keine sonstigen Sprachen außer html und PHP[/b] Viel Spaß wünsch Euch [b] hergy[/b]

Antwort 1 von schladetsch

Sorry, auf mich macht das den Eindruck, als würdest du jemanden suchen, der dir die Hausaufgaben macht.

es grüßt
der Schladdi

Antwort 2 von Nessus

@hergy

Ich wünsche Dir für diese sinnige Aufgabe viel Erfolg, vor allem viele Mitmacher...

Nessus

Antwort 3 von Nessus

@Schladdi

Genau das hatte ich mir beim ersten Durchlesen auch gedacht ;-)

Nessus

Antwort 4 von schladetsch

Naja, vielleicht findet er ja jemanden.

es grüßt
der Schladdi

Antwort 5 von Hergy

Hey Leute,

ich habe schon eine Lösung !!!

Diese Aufgabe ist ernst gemeint !!!

Versucht es doch wenigstens !

grüße, hergy

Antwort 6 von Hergy

Sagt mal, wird man denn hier garnicht mehr ernst genommen ?

Ich dachte, ich als PHP-Neuling kann mal stolz auf das sein was ich selbst heraudgefunden habe, und andere daran teilheben lassen ;-)

hergy

Antwort 7 von schladetsch

Dann teile doch mit, wie du es gemacht hast, und fordere nicht noch Lösungen von anderen Teilnehmern des SN ab.

es grüßt
der Schladdi

Antwort 8 von Hergy

@schladetsch
Ich dachte es gib hier einige Leute, die spaß daran haben, wenn sie mal eine kleine Herausvorderung bekommen ;-)

Mal ehrlich, hat denn keiner von Euch eine Idee ?

grüße, hergy

Antwort 9 von schladetsch

OK, vieleicht hab ich es vorher falsch ausgedrückt.

Hier hat bestimmt niemand Spaß daran, von deinen Hausaufgaben herausgefordert zu werden.

Sechs!!!
Setzen!!!

Antwort 10 von Hergy

@schladetsch

Spielverderber, von wegen Hausaufgaben, dann hätte ich die Frage ganz anders gestellt :-P

Antwort 11 von Hergy

kleiner Tip:

benutzt das meta refresh verbunden mit PHP

kommt schon :-(

hergy

Antwort 12 von bloedi

Hast du keine Freundinn?

Antwort 13 von coil

Zitat:
Übungsaufgabe - Bitte mitmachen

Hallo Leute,

Übungs-Aufgabe an alle!!! (speziell PHP-Anfänger):
Gibt es eine Möglichkeit, mit reinem html und PHP eine Slideshow / Diahow zu coden, die automatisch weiterläuft? D.h., wenn ich z.B. 10 Bilder habe, sollen diese automatisch beim Aufruf der Site im Browser nacheinander angezeigt werden (ohne zutun des Surfers). Bitte beachtet die unten aufgeführten Regeln für diese Aufgabe

An alle PHP-Profis:
Lasst den Anfängern bitte auch eine Chance, eine Lösung zu finden!!!
Ich werde in bestimmten Abständen Tips geben, falls es keine Lösungen geben sollte!

Aufgabe:
Erstelle eine Slideshow, die automatisch weiterläuft (z.B.: 10 Bilder, die der Reihe nach angezeigt werden (ohne zutun des Surfers), sobald die Site aufgerufen wurde!

Regeln:
-Slideshow darf aus nur einer Datei bestehen !!!
-verwende nur html und PHP !!!
-kein Javascript
-kein Java
-keine Datenbank
-keine sonstigen Sprachen außer html und PHP

Viel Spaß wünsch Euch
hergy


KANITVERSTAN?

Antwort 14 von schladetsch

@ Hergy:

Wann fängt dein Unterricht an???

8:00 Uhr???

Da solltest du dich so langsam mal selbst an die Lösung der Aufgabe machen.

So viel Zeit hast du nicht mehr.

Antwort 15 von xianwen

das is doch keine grosse hürde
ich arbeite erst seit (sehr) kurzem mit PHP aber das kann ich dir auf der stelle machen

Antwort 16 von Hergy

Qxianwen

...endlich einer, der mich ernst nimmt ;-)

Antwort 17 von Hergy

Da anscheinend keiner auf eine Lösung kommt!

Hier der Beispielcode für eine Slideshow mit 10 Bildern, die autom. nacheinander angezeiget werden und danach von vorne beginnen:

 <?php 
	if(@$_GET[´bildnummer´])
		{$i=$_GET[´bildnummer´];}
	else
		{$i=0;}
	$bild="img/Bild_".$i.".gif";
	if($i==9)
		{$i="0";}
	else
		{$i+=1;}
?>
<html>
<head>
 <title>PHP-Slideshow</title>
 <meta http-equiv="refresh" content="2; url=index.php?bildnummer=<?php echo $i; ?>">
</head>

<body>
    <img src="<?php echo $bild; ?>" border="0" />
</body>
</html>


@schladdi: kennst Du das?
Zitat:
Schade, das die Qualität der Antworten hier immer mehr nachläßt. Leider scheint es aber so zu sein, das hier immer mehr Leute nur noch drauf aus sind, zu stänkern und andere zu beschimpfen.
Nach dem Motto: "Hauptsache das Maul klappert !!!"
Nie den Spaß, geschweige denn den ernst des Lebens verlieren ;-)

Gruß, hergy

Antwort 18 von xianwen

ich muss zugeben deine Lösung ist etwas effizienter als meine es gewesen wäre.

Antwort 19 von Nessus

@hergy

Schön das Du darauf gekommen bist. Glaube mir, für so einen Kram nehme ich mir 0 Zeit.
Hast Du ein konkretes Problem, Frage. Sobald ich Zeit und Lust habe die Frage zu beantworten mache ich das gerne, aber bitte kein Kinderkram.

Übungsaufgaben, so ein Schmarrn.
Ich kann Dir gerne auch ein paar Übungsaufgaben geben, kein Thema. Mal schauen ob Du es hinbekommst.

Und wenn Du so geil bist, mit deinem Script es uns zu zeigen, gut Du hast es getan.....

Nessus

Antwort 20 von SaltyCat

Zitat:
<?php
if(@$_GET[´bildnummer´])
{$i=$_GET[´bildnummer´];}
else
{$i=0;}
$bild="img/Bild_".$i.".gif";
if($i==9)
{$i="0";} // *siehe Anmerkung unten
else
{$i+=1;}
?>

*erstmal ist es blödsinn, hier plötzlich den Wert für $i als string zu setzen. PHP wandelt die variablen zwar im allgemeinen selbständig in den passenden Typ um, aber gib dem Interpreter doch nicht mehr Arbeit als nötig ...
und jetzt folgt effizienter Code ;)
 
<?php
if(!$i=$_GET[´bildnummer´]) || $i>9)
    $i=0;
  $bild="img/Bild_".$i++."gif";
?>
  

Zitat:


<html>
<head>
<title>PHP-Slideshow</title>
<meta http-equiv="refresh" content="2; url=index.php?bildnummer=<?php echo $i; ?>">
</head>

<body>
<img src="<?php echo $bild; ?>" border="0" />
</body>
</html>

"" <- Das sind die beiden Anführungszeichen, die Du in dem obenstehenden HTML-Teil vergessen hast - suchen und einfügen darfst Du sie selbst, ist ja bald Ostern ;)

Ach ja, evtl. Flüchtigkeitsfehler bedingen sich dadurch, dass ich heute nacht keinen Bock hab, sinnlosen Code auszuprobieren ;)

Antwort 21 von Hergy

@ SaltyCat:

SaltyCat:
Zitat:
erstmal ist es blödsinn, hier plötzlich den Wert für $i als string zu setzen

-> Flüchtigkeitsfehler, Gewohnheit durch html (Attributwerte in Anführungszeichen)

SaltyCat:
Zitat:
die beiden Anführungszeichen, die Du in dem obenstehenden HTML-Teil vergessen hast

-> ich wüsste nicht wo !!!

SaltyCat:
Zitat:
und jetzt folgt effizienter Code

-> Nichts gegen Flüchtigkeitsfehler, aber hast Du Deinen Code mal getestet? Das sind schon keine Flüchtigkeitsfehler mehr ;-)

Gruß, hergy

Antwort 22 von Pyrogx

ich denke für sowas is das supportnet der falsche platz

dafür sollteste lieber php bezogenere foren nehmen

da php ja für dynamische seite gedacht ist versuche doch nun mal alle bilddateien aus dem ordner X zu lesen und daraus ne slideshow zu machen
es sollte egal sein wie die bilder heißen (urlaub56_54.jpg; ferien_frankreich2003_bild5.gif usw)

es sollte uch egal sein wieviele bilder in dem ordner sind
man muss also nur den ordnerpfad im script anpassen und dann belibige bilder in den ordner schieben können und daraus ne slideshow machen

viel spaß :)

(wenn wer tips braucht sagt bescheid)

Antwort 23 von Hergy

Hi,

@Pyrogx:

danke für den Anreiz! Hat mich zwar eine ganze Stunde gekostet, aber ich habe wieder durch Praktische übung dazugelernt!

Wie gefällt Dir das:

 <?php 
$imghandle=opendir("img"); 
while ($file = readdir ($imghandle)) { 
if ($file != "." && $file != "..") { 
@$imgliste=$imgliste.´ ´.$file; 
} 
}
$bild=explode(" ",$imgliste);
$anzahl=count($bild);
closedir($imghandle); 
if(@$_GET[´bild´]) {$i=$_GET[´bild´];} 
else {$i=1;} 
$bildzeigen="img/".$bild[$i]; 
if($i==$anzahl-1){$i="0";} 
else{$i+=1;} 
?> 
<html> 
<head> 
<title>PHP-Slideshow</title> 
<meta http-equiv="refresh" content="1; url=slide2.php?bild=<?php echo $i; ?>"> 
</head> 
<body> 
<img src="<?php echo $bildzeigen; ?>" border="0" /> 
</body> 
</html> 


???

Falls Du noch Verbesserungs-Vorschläge hast: ich lerne gern dazu ;-)

Gruß, hergy

Antwort 24 von Hergy

...Abostroph bitte wieder in einfache Anführungszeichen ersetzen !!!

hergy

Antwort 25 von Pyrogx

willste noch ne übungsaufgabe?

nen kollege will ne gallerie haben
genuer gesagt will er halt alle bilder in nen ordner packen und diese dann per php-script anzeigen lassen
die bilder sollten als thumbnails dargestellt werden und beim draufklicken soll sich das bild in einem neuen fenster in voller größe öffnen

spontan fallen mir drei lösungen ein:
lösung eins wäre dass du die großen bilder nochmal in einem extra order als thumbnails speicherst (unter gleichem namen) und dann den link auf das große bild setzt
dabei muss man allerdings für jedes bild nen thumbnailö machen und man muss aufpassen das die bilder auch wirklich gleich heißen

lösung zwei wäre die das du die bilder dynamisch per PHP verkleinerst (mit PHP und nicht mit JS da bei JS die großen bilder geladen werden udn wenn sie fertig sind verkleinert werden)
man sollte in der phpdatei am anfang eingeben können wie groß die thumbnils maximal sein dürfen (stichwort: variablen benutzen)
der nachteil hier is allerdings dass der prozessor sehr stark bei jedem aufruf beansprucht wird

die dritte und sicherlich komplizierteste lösung wäre wenn du ein kleines installscript schreibst
nachdem man alle bilddateien in einen ordner geschoben hat muss man dieses script ausführen
das script generiert dann aus den bildern thumbnails und packt sie in einen ordner
die orginal dateien werden ebenfalls in einen extra ordner geschoben
nachdem das alls gemacht wurde könnteste dann wieder auf lösung eins zurückgreifen
also thumbnails auslesen und verlinken




egal welche der lösungen du verwendest gäbs noch nen kleinen bonus
eine kommentar funktion :)
man soll also jedes bild noch kommentieren können

viel spaß beim coden :)

Antwort 26 von Pyrogx

achja
ich wollte dir auchnoch sagen das das script daoben vonm hier ganz in ordnung aussieht

obs geht kannst du ja selber testen (mein server is grad off)

was mir allerdings direkt auffällt ist ein kleiner bug
und zwar dürfen in deiner lösung die bilder keine leerzeichen enthalten
z.B. "urlaub 2004 bild3.jpg würde bei dir als 3 bilder dargestellt

ich würde als trennung " " (also gänsefüschen oben, space, gänsefüschen oben) empfehlen
als zusätzliche prüfung könnteste noch überprüfen ob die dtei existiert bevor du sie ausgibst (die funktion heist "file_exists")

Antwort 27 von salzi

hi,
die diskusion ist fraglich, aber interessant.
Ich habe ein ungeloestes Problem, was fuer euch evt. auch nur eine kleine uebung ist: ich habe eine Ordnerstruktur /img/big/seite-XX/YY.jpg wobei die werte fuer XX fortlaufend von 01 an sind, YY ist immer von 01 bis 10. Das heist in jedem Ordner sind 10 Bilder, dann kommt der nachste Ordner. Das ganze soll in dieser logischen Rheienfolge als slideshow ablaufen. ich hatte zwar eher an Javascript gedacht, aber vieleicht habt ihr ja was cleveres am start.
salzi

Antwort 28 von unix39

@hergv
Deine Übungsaufgabe ist ja sehr intressant,nun versuch doch deine lösung mal mit front page hochzuladen :-)

Antwort 29 von salzi

@unix39 mit Frontpage arbeitet man leiber eh nicht, was auch immer dein Grund fuer diesen Beitrag war...

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: