Globale Variablen mit PHP
Übersicht

ChristianKBetreff: Globale Variablen mit PHP |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich bin gerade dabei, mir ein Fotoalbum in PHP zu schreiben. Zuerst werden alle Vorschaubilder in ein Array eingelesen und als Link angezeigt. Wenn der Benutzer auf eines der Bilder klickt, wird der Index der Bildes weitergeleitet, damit die PHP-Datei, die für das Anzeigen der großen Bilder zuständig ist, dieses auch identifizieren kann. Und da ist mein Problem. Die PHP-Datei liest die Dateinamen wieder neu, um das passende Bild zum Index zu finden. Das funktioniert zwar, aber es kostet ja schließlich Rechenzeit, alle Dateinamen für nur ein Foto einzulesen.
Kann man ein Array erstellen, das dateiübergreifend immer erhalten bleibt? PS: Ich habe noch nicht viel in PHP gemacht bisher, also bitte nicht schlagen ... |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
![]() |
pixelshooter |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich würde das eher mit ner db machen. Oder nimm als index direkt den dateinamen.
SQL variante für vorschau: Code: [AUSKLAPPEN] SELECT id, path FROM images und dann halt die detail seite: Code: [AUSKLAPPEN] SELECT path FROM images WHERE id='" . $_GET['id'] |
||
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc |
![]() |
Pdd |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oder du speicherst das Array einfach in der Session-Variable ![]() Code: [AUSKLAPPEN] $_SESSION['Dateinamen'] = array("name", "name2", "name3,....); Beim nächsten Aufruf der Seite kannst du es dann ganz bequem wieder auslesen ![]() |
||
Lieber Apfel als Birne. |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mit Frames müßte das auch gehen ,
als Target könnte man dann ein Frame in der Mitte angeben wo das Bild in groß angezeigt wird , also wird deine PHP Seite die die Bilder auflistet nur einmal geladen . |
||
![]() |
pixelshooter |
![]() Antworten mit Zitat ![]() |
---|---|---|
und wenn er noch mehr auf der seite hat als nur die bilder? | ||
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc |
![]() |
Pdd |
![]() Antworten mit Zitat ![]() |
---|---|---|
Achwas Frames, das ist doch Quark. Frames sind veraltet und ungeschickt. Das mit der Session-Variable ist viel einfacher! | ||
Lieber Apfel als Birne. |
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Pdd
ja ja , dümmer geht immer ... |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke Pdd, genau das hab ich gesucht!
@pixelshooter Den Dateinamen kann ich nicht als Index nehmen, weil man auch in der Großansicht zwischen den Bildern wechseln soll. Aber danke für den Tip mit der Datenbank. Bisher hatte ich den Index etc. immer in Dateien gespeichert, aber Datenbanken sind wohl einfacher. |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] <a href="php.php?filename=dfjieiefellldkf9ef_ddoodie%20fjioeji.jpg">
übergib einfach den ganzen dateinamen anstatt der id.... |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie gesagt, den Dateinamen kann ich nicht verwenden, weil ich den Index brauche um eine "Weiter / Zurück" Funktion einzubauen. | ||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] <a href="php.php?filename=dfjieiefellldkf9ef_ddoodie%20fjioeji.jpg&id=123">
übergib beides^^ |
||
![]() |
mahe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann muss er wieder alle Dateien laden damit der User vor und zurück springen kann.
Mit Sessions kann das einmal gefüllte Array an verschiedene PHP-Seiten übergeben werden. Das ist die einzige vernünftige Lösung (von Datenbanken mal abgesehen). |
||
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ, |
#ReaperNewsposter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du kannst dir ja auch einfach ein kleines PHP-Script schreiben, welches den Ordner einlist, und dir ein Array in Text-Form ausgibt. Dann kannste das einfach per Copy&Paste in eine PHP-Datei einfügen. Müsstest du halt evt. jedesmal wieder bei einem neuen Bild per Hand machen, außer du hast eh ein Uploadscript, welches dann das Array auch selbst in eine .php Datei schreiben könnte. Wenn du verstehst was ich meine ![]() MfG #Reaper PS: Jaja, ich erkläre schlecht ![]() |
||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
![]() |
pixelshooter |
![]() Antworten mit Zitat ![]() |
---|---|---|
hochladen über n php script... geht, wird aber unpraktisch, wenns viele dateien sind. Und jedes mal das script aufrufen und die codes anpassen? | ||
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc |
![]() |
mahe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Natürlich könnte er auch HTML-Dateien für jedes Bild anlegen und diese passend verlinken.
Das wäre genauso unnötig ![]() |
||
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ, |
#ReaperNewsposter |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Er könnte ja auch einfach die Bilder über JavaScript anzeigen lassen, so, dass nur das Bild ausgetauscht wird, aber nicht die Seite neugeladen wird.. | ||
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7 |
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es sollen alle Bilder im Ordner aufgelistet werden, deshalb kann ich das Array nicht von Hand mit den Dateinamen füllen.
Die Idee mit JavaScript gefällt mir aber ganz gut. ![]() |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group