#1
| ||||
| ||||
Sammelthema, mein WeblogHallo, Für ein Projekt dessen Domain ich mir gestern gesichert habe bin ich grad dabei ein Weblog zu programmieren. Nase geht ja mit der Zeit und so versuche ich Klassen und Funktionen einzusetzen. Da ich nicht ganz so die grosse PHP-Leuchte bin tauchen sicherlich Fragen auf die ihr hier in diesem Thema sammeln werde damit ihr mit kompetent wie immer zur Seite stehen könnt Momentan ist das Weblog relativ simpel, über ein Admincenter kann ein Beitrag angegeben werden der dann in der Datenbank gespeichert wird. Das besondere daran ist, dass gleichzeit eine index.html erstellt wird die alle Beiträge enthält (in meinem Fall die letzten 15). Die alte index.html wird ins Archiv verschoben und umbenannt. Auf diese Weise bekommt jeder Besucher eine fertig generierte Seite präsentiert und PHP arbeitet nur im Backend. Die Archivseite liest das Verzeichnis 'archiv' aus und präsentiert den Inhalt zum einfachen Betrachten älterer Beiträge. Nun ist meine erste konkrete Frage wie ich innerhalb der Klassen agieren kann.. Wenn ich z.B. eine Klasse namens 'core' hab, dann noch die Klasse 'templates' und die Klasse 'database', wie kann ich dann Funktionen aus der Klasse 'template' in Funktionen der Klasse 'core' verwenden? |
#2
| ||||
| ||||
Normalerweise geht das über den Namen der Klasse selbst: PHP-Code: PHP-Code: Meiner Meinung nach hast du das Archiv noch nicht genau durchdacht, da du dann ja mit jedem neuen Eintrag eine neue Archivdatei hast, wobei sich Einträge im Archiv wiederholen würden, da ja immer die letzten 15 angezeigt werden. Ich fände es besser wenn du jedes Mal eine Extra-Archivdatei generieren lassen würdest (die alle Einträge beinhaltet). Evtl. würde ich sogar soweit gehen noch eine Seitenaufteilung über mehrere Dateien einzubauen. code |
#3
| |||
| |||
Ich schätze mal, dass Singleton die richtige Strategie für dich sein dürfte. PHP-Code: Ich habe übrigens bewusst auf das static-Keyword verzichtet... bei mir hat es bislang noch nie funktioniert. __________________ Patrick Gotthardt Patrick Gotthardt on Software |
#4
| ||||
| ||||
Hallo und Guten Morgen, Mittlerweile stehe ich vor einem ganz anderen Problem *g* Ich habe eine XML-Datei, die, dank exe, geparsed wird und aktuelle Wetterinformationen aus meiner Umgebung liefert. Leider darf das Script maximal einmal pro 15 Minuten aufgerufen werden, sodass ich die Daten zwischenspeichern muss. Ich hatte mir da folgendes Überlegt: Code: $time = file_get_contents('time.txt'); if(time() >= ($time+(60*15))) { // XML-Datei wird geparsed // Datenbank wird gefüttert // time.txt wird mit aktuellem Timestamp gefüllt } else { // Datenbankabfrage } |
#5
| ||||
| ||||
Cronjob, aber du kannst es dir noch einfacher machen bei deinem Script. 1. Daten auslesen, paren und in als fertiges HTML in eine Cachedatei schreiben. 2. Cachedatei via include einfügen. 3. Bei jedem Aufruf prüfst du das Erstellungsdatum der Datei mit filemtime(), und wenn die Datei 15 Minuten alt ist, wird der die Cachedatei neu erstellt. |
#6
| ||||
| ||||
Cronjobs hat mein Packet leider nicht Das Problem bei einer fertigen Seite ist, dass ich dann ja keine Variablen mehr zur Verfügung habe. Die brauche ich aber, damit sie in der fertigen Seite in den Templates verwendet werden können. |
#7
| ||||
| ||||
Axo, das war ja reines HTML. Ich erinner mich... Das macht es natürlich etwas schwieriger, dort etwas dynamisches reinzubauen. |
#8
| ||||
| ||||
So, jetzt hab ich ein Problem bei dem ich an mein Latein stosse.. Code: while($row = $db->fetch($result)) { echo '<div />'; } Da ich damit eine Bildergalerie generieren will brauch ich nach 4 Durchläufen ein <br /> und dann soll es mit <div /> weitergehen. Sodass ich am Ende sowas wie <div /><div /><div /><div /><br /><div /><div /><div /><div /><br /> <div /><div /><div /><div /><br /><div /><div /><div /><div /> habe. Wie muss ich die Schleife verändern? |
#9
| ||||
| ||||
Zitat:
|
#10
| ||||
| ||||
Zitat:
Nun ein anderes Problem. Die Einträge habe ich ausgelesen, gut und schön. Nun möchte ich aber z.B. alle Einträge vom Mai unter der Überschrift 'Mai' haben damit es wie folgt aussieht: laufender Monat | Eintrag | | Eintrag | | Eintrag | | Eintrag | Juli | Eintrag | | Eintrag | | Eintrag | | Eintrag | Wie muss ich da vorgehen? Brauche ich da mehr als eine Abfrage? Wie muss ich die While-Schleife verändern? |
#11
| |||
| |||
Du speicherst ja das Datum, an dem du den Eintrag erstellt hast, also kannst du dir mit Date einfach den Monat als Zahl wiedergeben lassen. Beispiel: PHP-Code: __________________ Patrick Gotthardt Patrick Gotthardt on Software |
#12
| ||||
| ||||
Hallo, Verstanden wie du es meinst habe ich es. Nur leider bekomme ich es nicht zusammengeschustert. Hier mal mein Code, vielleicht kannst du es ja zusammenbringen?! PHP-Code: laufender Monat | Eintrag | | Eintrag | | Eintrag | | Eintrag | <br /> | Eintrag | | Eintrag | Juli | Eintrag | | Eintrag | | Eintrag | | Eintrag | <br /> | Eintrag | | Eintrag | | Eintrag | | Eintrag | <br /> | Eintrag | | Eintrag | Geändert von MrNase (14.08.2004 um 15:41 Uhr). |
#13
| ||||
| ||||
Guten Morgen, Dank einer schlaflosen Nacht und MaMo der es gestern geschafft hat mir zu helfen bin ich nun schon was den eigentlichen Code angeht ziemlich weit vorgeschritten. Zum generieren der Bilder verwende ich die gdlib, Bilder werden über die Datei 'bild.php' ausgegeben (z.B. <img src="bild.php?filename=pic_d36cac6cd40764fa7fd0496 bf2f89855&size=large" />) Nun ist die bild.php relativ ungesichert und die GDLib geht ja ganz schön auf die Serverperformance. Deswegen möchte ich die bild.php gerne vor aufrufen von Aussen schützen. Wie stelle ich es geschickt an? Eine htaccess -Datei die rausfindet ob die Anfrage von meiner Domain kommt und wenn nicht ein Fehlerbild ausgibt? Wenn ja, wer kennt weitere Quellen bzw. hat was zur Hand? |
#14
| ||||
| ||||
Huhu, Ich schieb es mal nach oben in der Hoffnung doch noch ne Antwort zu bekommen |
#15
| ||||
| ||||
Mit htaccess und Mod_Rewrite ist das relativ einfach möglich: www.trafficklau.de |
#16
| ||||
| ||||
Da hab ich schon geschaut.. Das Script soll nur ausgeführt werden, wenn z.B. die Seite http://www.blatest.de/index.php die Datei http://www.blatest.de/bild.php als Bild einbindet. Da kann ich nicht mit einer htaccess-Datei arbeiten. Zumindest habe ich dort keine Funktionierende Lösung gefunden |
#17
| ||||
| ||||
Hast du inzwischen die Lösung gefunden? Wenn nicht: Du könntest ja theoretisch die Grafikdatei mit einer PHP-Datei laden. Sodass es dann in etwa so aussieht: <img src="pic.php?file=bild.jpeg" ... /> . Die Bilddatei selber könntest du dann mit .htaccess schützen, da PHP .htaccess AFAIK umgeht und .htaccess somit keinen Einfluss hat. PS: Kannst du mir eigentlich mal die URL deines feinen Weblogs geben? |
#18
| ||||
| ||||
Zitat:
PHP-Code: Eine sichere Methode gibt es da nicht da ein serverseitiges Script nicht feststellen kann ob der Client die Anfrage nach dem Bild aufgrund eines HTML-Befehls stellt oder nicht. __________________ Johannes Klose Calitrix Wiki - Wiki auf Basis von PHP und MySQL |
#19
| ||||
| ||||
Hm, ich hab bei mir die Möglichkeit übersehen, dass der User das Bild direkt über pic.php?file=wasweißich aufruft. Nach langem Suchen habe ich doch noch den Artikel gefunden, den ich vor einiger Zeit gelesen habe: http://aktuell.de.selfhtml.org/artik...ages/index.htm Du könntest evtl. also so vorgehen: <img src="<?php include('pic.php?file=bla'); ?>" ... /> Wobei pic.php den Inhalt der Bilddatei lädt. Ich bin mir jetzt allerdings nicht sicher, ob man der zu includierenden Datei einen Parameter angeben darf. Ggf. musst du vor das include() noch ein $file = "datei.jpeg"; schreiben, wobei du dann in der pic.php auf diese Variable zugreifst. Ich weiß es ist umständlich, aber immernoch besser, als sich aufwendige Grafiken klauen zu lassen und dann mit TrafficKlau leben zu müssen. Bis dann, codethief [EDIT]: Ich hab gerade bemerkt, dass diese Variante nicht überall funktioniert: Zitat:
|
Stichworte |
- |
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Aus vBulletin ein Weblog - Jemand Erfahrungen? | TRS | Web Design und Grafik | 11 | 07.05.2004 22:10 |
Sunlog :: Weblog and Contenmanagement | Daniel Richter | Blog, CMS, Wiki und Sonstige | 12 | 07.02.2004 21:35 |