Dateiname in hmtl speichern
Andi
- php
Hi,
ich bin im dabei Moment eine Website für einen Fileserver zu schreiben. Auf den Server sollen überwiegend PDF-Dateien hochgeladen werden.
Bin fast fertig mir fehlt nur noch ein Script:
Ich habe ein Dateifeld, mit dem ich die gewünschte Datei wählen und dann mit einer Schaltfläche ( echo '<input type="submit" name="'.$fm_cfg['cgi'].'submit" value="Datei hochladen"> ) hochlade
Nun mein Problem, ich möchte gerne, dass wenn ich auf die Schaltfläche (Datei hochladen) klicke, dass in einer HTML-Datei eine neue Zeile mit dem Namen mit Hyperlink zu dieser Datei erstellt wird.
Zudem sollte noch das upload-Datum hinten dran stehen.
Die HTML-Datei ist ein Teil der Startseite, so dass man immer die aktuellsten Dateien sieht.
Mfg
Andi
Ich habe ein Dateifeld, mit dem ich die gewünschte Datei wählen und dann mit einer Schaltfläche ( echo '<input type="submit" name="'.$fm_cfg['cgi'].'submit" value="Datei hochladen"> ) hochlade
Nun mein Problem, ich möchte gerne, dass wenn ich auf die Schaltfläche (Datei hochladen) klicke, dass in einer HTML-Datei eine neue Zeile mit dem Namen mit Hyperlink zu dieser Datei erstellt wird.
Zudem sollte noch das upload-Datum hinten dran stehen.Die HTML-Datei ist ein Teil der Startseite, so dass man immer die aktuellsten Dateien sieht.
Ich verstehe die Frage nicht.
Hi,
Nun mein Problem, ich möchte gerne, dass wenn ich auf die Schaltfläche (Datei hochladen) klicke, dass in einer HTML-Datei eine neue Zeile mit dem Namen mit Hyperlink zu dieser Datei erstellt wird.
Zu dem Zeitpunkt gibt es die Datei doch noch gar nicht auf dem Server. Das entsprechende html zu generieren ist doch eher Aufgabe des empfangenden Scriptes - es sei denn, Du wickelst den Upload via Ajax ab. Dann könntest Du den Response auswerten und bei Success per Javascript/DOM einen neuen Listeneintrag einfügen.
Insgesamt scheint mir, dass Dir der Ablauf eines Uploads nicht ganz klar ist...
Gruesse, Joachim
Hello,
es gibt wie immer verschiedene Möglichkeiten, um nach HTML zu kommen.
Um eine Linkanzeige zu bekommen, könntest Du z.B. auch aktuell das betroffene Verzeichnis auslesen.
Das haben wir hier neulich erst diskutiert, wie man das machen kann.
http://forum.de.selfhtml.org/archiv/2009/3/t185234/#m1228796
und
http://selfhtml.bitworks.de/snippets/directories_auslesen/
Das erzeugte Array kannst du dann leicht in HTML einkleiden und auf Deiner Seite mit ausgeben.
Das Problem bei Deinem Wunsch ist aber das Uploaddatum. Unter Unix gibt es leider kein echtes Createdate im Dateisystem. Die I-Node merkt sich nur, wann sie das letzte Mal verändert worden ist, wann der Inhalt der Datei das letzte Mal verändert wurde und ggf. noch, wann der Inhalt der Datei das letzte Mal gelesen wurde.
Also müsstest Du sowieso eine zusätzliche Datei aufbauen, die z.B. enthalten könnte:
- Name des Users
- Datum des Uploads
- Größe der Datei
- Betreff (Text, der im Link angezeigt werden soll)
- Name der Datei auf der Platte
- Bemerkung
- Markierung z.B.: 0=ungesichtet+gesperrt, 1=gesichtet+gesperrt, 99=freigegeben usw.
Diese Daten würde ich als CSV-File abspeichern und dann mittels Anzeigefunktion in die entsprechende Seite einbinden.
Ist das ungefähr das, was Dir vorschwebte? Dann helfe ich Dir gerne dabei, es aufzubauen.
So ein Uploadscript birgt natürlich auch Gefahren:
1. Es könnte Dir jemand ausführbare Dateien oder PHP-Scripte (auch Perl ...) hochladen
2. Es könnte Dir jemand eine .htaccess-Datei hochladen
3. Es könnte Dir jemand eine beliebige Datei in ein beliebiges Verzeichnis hochladen,
wenn Du dagegen keine Vorkehrung triffst. Das ist möglich und wird bei unbedarften
Uploadscriptschreibern gerne ausgenutzt.
4. Es könnte Dir jemand strafbare Inhalte hochladen und die gesamte IP mit hunderten
von unter ihr gehosteten Domains wird automatisch gesperrt. Dann bist Du für den
entstandene Ausfall verantwortlich
Um Dich davor zu schützen, ist Deine Idee mit der Vermittlungsdatei/Kontrolldatei gar nichzt schlecht. Ohne Sichtung keine Freigabe. Und ohne Anmeldung als authorisierter User kein Upload!
Liebe Grüße aus dem Cyberspace
Tom vom Berg