Zum Inhalt springen

Suchfunktion für Bilder-Intranetseite


Fänerk

Empfohlene Beiträge

hallo,

ich habe derzeit ein Projekt in der Schule, wir müssen die Bilder erst ordentlich Strukturieren usw.

dann sollen wir die irgendwie zur verfügung stellen und wir haben uns entschieden, dies als "Bilder-Intranet" zu machen. Dazu erstellen wir mit JoJoThumb HTML-Seiten der einzelnen Veranstaltungen/Events.

wir haben auch schon ein Interface, in welchem die Veranstaltungen über Menüs, verschieden angeordnet (nach Jahr, nach Lehrern, nach Schülern, nach Sonderveranstaltungen) zur verfügung stehen.

nun soll auch noch eine Suchfunktion eingebaut werden.

es soll auf der Interface seite ein eingabefeld sein, inwelches z.B. "IT-2" eingegeben wird und dann alle HTML-Seiten aufgelistet werden sollen, in welchen "IT-2" vorkommt.

die Ordnerstruktur sieht so aus:

-Interface

-Bilder

--2005

---Lehrer

----Konferenzen

----Sommerausflug

---Klassen

----IT-2

-----Klassenfahrt

-----Projektwoche

---Sonderveranstaltungen

----...

--2006

...

Die Suchfunktion soll nun praktisch so wie die Windows-Suchfunktion laufen

mit den Kriterien *"Suchwort"*.html

es sollen keine Ordner oder einzelnen Bilder aufgelistet werden, sondern nur die HTML-Seiten.

wie verwirkliche ich das am besten?

ich habe schon gegooglt, auch ein paar php Suchfunktionen gefunden, diese getestet, aber bei beiden ging die Suche nicht und ich hatte alle angaben gegeben (order, unter dem gesucht werden soll, Unterordner mit einbeziehen, usw...)

wäre super, wenn einer einen tipp hat, oder ein tut für php-suchfunktion hat, oder etwas ähnliches...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also rein auf HTML wird das nicht funktionieren, denn HTML kann kann man mit HTML nicht durchsuchen. Wenn es ohne PHP sein soll, dann musst Du das mit JavaScript bauen und den Index selbst per Hand pflegen.

Mit PHP wäre das schon eleganter, wobei ich hier zu einem Suchindex greifen würde, d.h. ein Script durchläuft Deine Dateien und indiziert die Daten in eine Datenbank, die Du dann abfragen kannst.

Der Ansatz wäre wohl die PHP Funktion PHP: strip_tags - Manual so dass Du eben rekursiv durch den Dateibaum läuft, jede HTML Datei öffnest, das Dokument liest, die Tags entfernst und den Inhalt indizierst.

Wie Du jetzt genau den Index bzw die darauf resultierende Suche anlegst, müsste man dann im Detail noch einmal sehen, da der Index ja nicht explodieren soll bzw Du ja auch ggf unscharfe Suchen zulassen möchtest

Link zu diesem Kommentar
Auf anderen Seiten teilen

dass das mit html nicht geht, dass war mir auch klar.

ich habe mich schon drauf eingestellt, dass ich php machen muss, nur habe ich bis her noch nie mit php gearbeitet.

kannst du mir noch sagen, was und wie ich das genau machen muss?

wie gesagt, ich habe noch nie mit php gearbeitet...

oder gibt es eine andere "einfache" möglichkeit, dass die verzeichnisse durchsucht werden?

mfg

Link zu diesem Kommentar
Auf anderen Seiten teilen

dass das mit html nicht geht, dass war mir auch klar.

Mal abgesehen von der JavaScript Lösung, die ich aber auch nicht unbedingt verwenden würde

oder gibt es eine andere "einfache" möglichkeit, dass die verzeichnisse durchsucht werden?

So wie ich es beschrieben habe, wäre es eine sinnvolle Lösung, da Du eben bei jeder Suchanfrage nur den Index und nicht die Dateien durchlaufen musst. Eine Reindizierung kannst Du dann ja immer manuell starten, wenn sich etwas an den Verzeichnis geändert hat.

Im Grunde wäre aber das Vorgehen so, wie ich beschrieben habe, obwohl man natürlich auch überlegen kann, ob Du nicht jedes Bild / Album mit Schlagworten indizierst und dann die Alben dynamisch erstellst, dann musst Du nicht die HTML Dateien nach Informationen abgrasen. Halte ich für die elegantere Methode. Im optimalen Fall taggst Du jedes Bild und je nach Suche kannst Du dann immer direkt die gewünschten Bilder anzeigen. Hierzu musst Du nur in einer Datenbank Pfad und Tags des jeweiligen Bildes ablegen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

so, ich habe jetzt noch ein wenig gegooglt und das hier gefunden:

PHP / Suchen und finden - Eine kleine Suchfunktion - Homepage-Total.de

kannst du dir das vllt mal angucken, ob das schon das ist, was ich suche, und wie ich das in die homepage einbauen müsste?

denn wie schon gesagt habe ich von php keine ahnung^^

wenn das nicht das ist, was ich brauche, wie genau muss ich das mit der datenbank machen?

wäre super, wenn ich eine detailierte anleitung bekommen würde. da das projekt bis donnerstag mit doku und präsi fertig sein muss, habe ich keine wirkliche zeit, mich da selbs gescheit einzuarbeiten...

mfg

Link zu diesem Kommentar
Auf anderen Seiten teilen

kannst du dir das vllt mal angucken, ob das schon das ist, was ich suche, und wie ich das in die homepage einbauen müsste?

Ich rate Dir ganz dringend davon ab, dieses Script zu verwenden, da an vielen Punkten Sicherheitsprobleme auftreten können und das ganze bei hohen Zugriffszahlen nicht effizient arbeiten wird. Der Autor dieses Scriptes prüft die Daten nicht, d.h. er verwendet die übergebenen Variablen direkt, das wäre z.B. bei einer Datenbankabfrage durchaus fatal. Ebenso durchsucht er bei jedem Aufruf "alle" Dateien in dem Verzeichnis, d.h. wenn zeitgleich 1000 Leute die Suche ausführen, wird das sehr langsam bzw. bei sehr vielen Dateien, die durchsucht werden müssen.

denn wie schon gesagt habe ich von php keine ahnung^^

Das wäre aber Voraussetzung das ganze sinnvoll zu realisieren. Basiswissen in PHP und Datenbanken solltest Du mitbringen, damit das Ergebnis auch entsprechend funktioniert.

wenn das nicht das ist, was ich brauche, wie genau muss ich das mit der datenbank machen?

Du musst eine Datenbank nach Deinen Anforderungen konzipieren und eben erstellen. Stichworte wären dazu ERM/ERD, Normalisierung und SQL

wäre super, wenn ich eine detailierte anleitung bekommen würde. da das projekt bis donnerstag mit doku und präsi fertig sein muss, habe ich keine wirkliche zeit, mich da selbs gescheit einzuarbeiten...

Dann rate ich Dir das Thema zu verwerfen, denn in dieser Zeit eine Suche zu realisieren, die sowohl sicherheits- und performancetechnisch ordentlich funktionieren soll, wirst Du nicht ohne entsprechendes Vorwissen realisiert bekommen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

das ganze braucht keine große sicherheit.

das ist eine Seite, welche auf die Intranetseite der Schule gepostet wird und nicht im Internet. und die Intranetseite wird abgesichert und mit berechtigungen versehen usw...

wie kann ich das den machen, ich bin gerade schon dabei, mich etwas einzulesen...

Link zu diesem Kommentar
Auf anderen Seiten teilen

das ganze braucht keine große sicherheit.

das ist eine Seite, welche auf die Intranetseite der Schule gepostet wird und nicht im Internet. und die Intranetseite wird abgesichert und mit berechtigungen versehen usw...

Das hat damit recht wenig zu tun, ob sie nur im Intranet zugänglich ist, denn wenn z.B. Du 100 Dateien hast und 10 Leute gleichzeitig eine Suche starten, dann durchläuft der Server 10 * 100 Dateien und führt in jeder Datei die Suche durch.

Im Grunde musst Du entweder alle Dateien durchlaufen, den HTML Code entfernen und die Wörter in eine Datenbank packen, wobei Du dann bei dem Wort eben speichern musst in welcher Datei es sich befindet. Du suche läuft dann auf der Datenbank.

Eine andere Möglichkeit wäre (halte ich für eleganter), dass Du die ganzen HTML Dateien, die Du bisher hast, löscht und in der Datenbank nur die Bilddateien mit Schlagworten (Tags) und der Information in welcher Rubrik sie sich befinden speicherst. Die Such kann läuft dann über die Tags und die Albenansichten kannst Du direkt aufgrund der Informationen der Datenbank generieren.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Antwort auf die Frage "womit erstellt man eine Datenbank", kann nur lauten, mit den Tools, die für die eingesetzte Datenbank kompatibel sind, d.h. es kommt auf die Datenbank an, die Du konkret einsetzen möchtest

Ob Du entsprechende gute Wartbarkeit haben wirst, kommt auch darauf an, wie Du das Projekt konkret umsetzt. Man kann die Bilder z.B. via Zip-Funktionalität hochladen und nach dem entpacken Thumbnails generieren und direkt indzieren, Du kannst auch die Daten via FTP hochladen und an jedem Tag einen Cron-Job laufen lassen, der indiziert. Kommt aber auch auf das Systemumfeld und eben Deine Zeit / Kenntnisse an

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...