Globale Variablen mit PHP

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

 

ChristianK

Betreff: Globale Variablen mit PHP

BeitragDi, Okt 02, 2007 16:20
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Okt 02, 2007 16:33
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Okt 02, 2007 18:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Oder du speicherst das Array einfach in der Session-Variable Wink
Code: [AUSKLAPPEN]

$_SESSION['Dateinamen'] = array("name", "name2", "name3,....);


Beim nächsten Aufruf der Seite kannst du es dann ganz bequem wieder auslesen Smile
Lieber Apfel als Birne.

Markus2

BeitragDi, Okt 02, 2007 18:19
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Okt 02, 2007 19:05
Antworten mit Zitat
Benutzer-Profile anzeigen
und wenn er noch mehr auf der seite hat als nur die bilder?
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc

Pdd

BeitragDi, Okt 02, 2007 19:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Achwas Frames, das ist doch Quark. Frames sind veraltet und ungeschickt. Das mit der Session-Variable ist viel einfacher!
Lieber Apfel als Birne.

Markus2

BeitragDi, Okt 02, 2007 19:21
Antworten mit Zitat
Benutzer-Profile anzeigen
@Pdd
ja ja , dümmer geht immer ...
 

ChristianK

BeitragDi, Okt 02, 2007 19:21
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragDi, Okt 02, 2007 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
<a href="php.php?filename=dfjieiefellldkf9ef_ddoodie%20fjioeji.jpg">

übergib einfach den ganzen dateinamen anstatt der id....
 

ChristianK

BeitragDi, Okt 02, 2007 22:53
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Okt 03, 2007 13:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
<a href="php.php?filename=dfjieiefellldkf9ef_ddoodie%20fjioeji.jpg&id=123">

übergib beides^^

mahe

BeitragMi, Okt 03, 2007 13:37
Antworten mit Zitat
Benutzer-Profile anzeigen
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ɹɹǝ,
 

#Reaper

Newsposter

BeitragMi, Okt 03, 2007 14:06
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Wink

MfG
#Reaper

PS: Jaja, ich erkläre schlecht Very Happy
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

BeitragMi, Okt 03, 2007 14:12
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Okt 03, 2007 15:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Natürlich könnte er auch HTML-Dateien für jedes Bild anlegen und diese passend verlinken.
Das wäre genauso unnötig Rolling Eyes
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ,
 

#Reaper

Newsposter

BeitragMi, Okt 03, 2007 15:11
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMi, Okt 03, 2007 15:41
Antworten mit Zitat
Benutzer-Profile anzeigen
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. Very Happy
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

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group