für die Liste aller Seiten
Autoren (Fortgeschritten)
PmWiki kann so konfiguriert werden, dass Autoren Dateien und Bilder auf den Server der PmWiki-Installation hochladen können. Auf solche hochgeladenen Dateien (auch "Anhänge") kann von allen Wikiseiten einfach verwiesen werden.
Hinweis: Bei PmWiki ist als Standard das Hochladen abgeschaltet. Siehe Verwaltung der Anhänge wegen weitere Informationen über die Aktivierung und Konfiguration des Hochladens.
Hinweis2: Das Hochladen kann so konfiguriert werden, dass hochgeladene Dateien für jede Seite in einem eigenen Verzeichnis gespeichert werden oder dass die Dateien für jede Gruppe in einem Verzeichnis landen oder dass für sämtliche Dateien ein gemeinsames (systemweites) Verzeichnis verwendet wird. Die Standardeinstellung ist, die hochgeladenen Dateien gruppenweise zu speichern. Siehe Verwaltung der Anhänge für Details.
Attach:
-Syntax
Um einen Anhang zu einer Seite hinzuzufügen (hochzuladen) oder um auf einen vorhandenen Anhang zu verweisen, nutzt man die Formatierungsanweisung "Attach:
" gefolgt von dem Namen der entsprechenden Datei -- also z. B. "Attach:Datei.pdf
". Bei der Seitenansicht wird dies von PmWiki folgendermaßen umgewandelt:
- Wenn eine solche Datei bereits hochgeladen wurde, wird ein Verweis auf die Datei angezeigt.
- Wenn eine solche Datei noch nicht hochgeladen wurde, wird ein Verweis auf ein "Hochlade-Formular" angezeigt, über das der Autor die hochzuladende Datei auswählen kann.
- Wenn es sich bei der Datei um eine Bilddatei handelt (wenn sie eine Dateiendung wie .gif, .jpeg oder .png hat), dann wird dieses Bild auf der Seite dargestellt.
Das Verhalten der automatisch erzeugten Verweise kann modifiziert werden:
- Um zu verhindern, dass eine hochgeladene Bilddatei als Bild erscheint, setzen Sie sie in doppelte eckige Klammern (z. B.
[[Attach:image.jpg]]
erscheint als Attach:image.jpg?).
- Wenn ein Verweis auf einen Anhang ohne "
Attach:
" erscheinen soll, können Sie [[(Attach:)Datei.ext]]
verwenden.
- Sie können einen Tooltip zu einem Verweis anzeigen lassen (z. B.
[[(Attach:)image.jpg"Tooltip für Dateianhang"]]
erscheint als image.jpg?).
Anhänge anderer Seiten oder von Seiten anderer Gruppen
Wie ein Verweis auf Anhänge anderer Seiten geschrieben werden muss, ist unterschiedlich je nachdem, ob die PmWiki-Konfiguration seitenweise, gruppenweise oder systemweite Speicherung vorsieht.
- Wenn PmWiki so konfiguriert ist, dass die hochgeladenen Dateien gruppenweise in gemeinsamen Verzeichnissen gespeichert werden, sieht ein Verweis auf den Anhang einer anderen Seite so aus:
Attach:Datei.pdf
für Seiten der selben Gruppe
Attach:Gruppe/Datei.pdf
für Seiten anderer Gruppen
- Wenn PmWiki so konfiguriert ist, dass alle hochgeladenen Dateien in einem gemeinsamen Verzeichnis gespeichert werden, sieht ein Verweis auf den Anhang einer anderen Seite so aus:
Attach:Datei.pdf
- Wenn PmWiki so konfiguriert ist, dass für jede Seite ein eigenständiges Hochlade-Verzeichnis angelegt wird, sieht ein Verweis auf den Anhang einer anderen Seite so aus:
Attach:Gruppe.SeitenName/Datei.pdf
Dateinamen mit Leerzeichen
Zuallererst: Am besten ist es, keine Leerzeichen oder Sonderzeichen in Dateinamen zu verwenden! Statt eines Leerzeichens sollte ein Unterstrich (_) verwendet werden.
Um auf ein Datei mit Leerzeichen im Dateinamen zu verweisen, sollte die Verweis-Form mit doppelten eckigen Klammern genutzt werden:
[[Attach:Eine Datei mit Leerzeichen im Dateinamen.txt]]
"Einbinden in die Seite" wird nicht unterstützt, wenn der Dateiname Leerzeichen enthält. Laden Sie die Bilder mit Namen ohne Leerzeichen hoch und nutzen Sie das Markup Attach:image.jpg
.
Internationale Zeichen in Dateinamen
Siehe UploadsAdmin und $UploadNameChars
.
Liste der hochgeladenen Dateien für eine Seite
Um hochgeladene Dateien aufzulisten, können Sie die Direktive
(:attachlist:)
nutzen – siehe Seitendirektiven wegen weiterer Optionen.
Damit werden alle Anhänge der aktuellen Gruppe, der aktuellen Seite oder der gesamten Installation angezeigt -- je nachdem, ob Anhänge gruppenweise, seitenweise oder alle zusammen gespeichert werden. Für jeden Anhang wird ein Verweis zum Ansehen oder Herunterladen desselben angezeigt. Eine solche Liste der Anhänge wird auch als Teil des Hochlade-Forumlars angezeigt.
Formular für das Hochladen / Ersetzen von Anhängen
Man kann das Formular für das Hochladen auch direkt aufrufen, indem man "?action=upload" an die Internetadresse einer Seite anhängt, für die der Administrator des Wikis das Hochladen erlaubt hat.
Eine hochgeladene Datei kann einfach durch eine neue Version ersetzt werden, indem man die neue Datei unter dem selben Namen wie die alte hochlädt.
- Man sollte sicherstellen, dass der Browser-Cache nach dem Ersetzen der hochgeladenen Datei geleert wird. Anderenfalls könnte es den Anschein haben, als wäre weiterhin die alte Version der Datei auf dem Server.
Hinweis für Administratoren: Wenn man den Eintrag $EnableUploadVersions
=1;
in local/config.php
oder bspw. in einer Gruppen-Konfigurationsdatei macht, werden alte Versionen einer Datei nicht überschrieben, sondern nur umbenannt.
Typen und Größenbeschränkungen
Aus Sicherheitsgründen ist bei PmWiki das Hochladen bei der Erstinstallation abgeschaltet; Einmal eingeschaltet ist das Hochladen auf bestimmte Typen und Dateigrößen beschränkt (siehe Administration hochgeladener Dateien). Die Standardeinstellungen bei PmWiki sind Dateigrößen von 50 Kilobytes und Dateiendungen wie ".gif", ".jpg", ".doc", ".txt", und ".pdf". Zusätzlich kann der Administrator das System so konfigurieren, dass ein Passwort für das Hochladen erforderlich ist (siehe Passwörter und Administration der Passwörter).
Standardmäßig ist das Hochladen von Dateien nur mit den folgenden Endungen möglich. Beachten Sie aber, dass es möglich ist, Dateien ohne Dateiendung hochzuladen (siehe dazu auch diese Frage weiter unten).
gif, jpg, jpeg, png, bmp, ico, wbmp, svg, svgz, xcf, webp # Bilddateien
Siehe
Images für Dateien, die PmWiki automatisch als Bilder anzeigt.
mp3, au, wav, ogg, flac, opus, # Musik
ogv, mp4, webm, mpg, mpeg, wmf, mov, qt, avi, mkv, # Video
zip, 7z, gz, tgz, tar, rpm, hqx, sit, # Komprimierte Dateien
odt, ods, odp, odg, doc, docx, ppt, pptx, xls, mdb, rtf, # Office
exe, # Ausführbare Dateien
pdf, psd, ps, ai, eps, # Adobe
htm, html, css, fla, swf, # Internetzeugs
txt, tex, dvi, # Textdateien
epub, kml, kmz, (Dateien ohne Endung) # Verschiedenes
Löschen
Derzeit können hochgeladene Dateien nur vom Administrator des Wikis gelöscht werden. Jeder Benutzer mit Rechten für das Hochladen kann allerdings bereits bestehende Dateien mit anderen Dateien gleichen Namens ersetzen, es sei denn, der Administrator hat eine Versionierung der Dateien eingestellt → Verwaltung der Anhänge.
Der Administrator kann hochgeladene Dateien löschen, indem er sie direkt auf dem Server löscht (über FTP oder SSH oder was auch immer der Provider zur Verfügung stellt). Möglicherweise funktionieren auch die (nur auf Englisch verfügbare) Kochbuch-Rezepte Cookbook:WebAdmin oder Cookbook:Attachtable, die innerhalb des Wikis einen Zugang zu den hochgeladenen Dateien ermöglichen.
FAQ
Wie kann ich es schaffen, dass der Verweis "Datei.pdf" lautet und nicht "Attach:Datei.pdf", wenn ich eine Datei hochlade?
Benutzen Sie Klammern — wie in [[(Attach:)Datei.pdf]]
. Es gibt auch eine Konfigurations-Option, mit der sich der "Attach:
-Teil" entfernen lässt — siehe dazu Cookbook:AttachLinks (nur auf Englisch verfügbar).
Warum kann ich auf mein neuinstalliertes Wiki keine Dateien hochladen, die größer sind als 50KB?
Die Standardeinstellung für die maximale Dateigröße hochzuladender Dateien ist 50KB. Fügen Sie die Zeile
$UploadMaxSize
= 1000000; # begrenzt die Dateigröße von Anhängen auf 1 Megabyte
in Ihre local/config.php-Datei ein, um die Grenze beispielsweise auf 1 MB zu erhöhen. Siehe Verwaltung der Anhänge wegen weiterer Einstellungen und Begrenzungen. Anmerkung: Der Webserver und PHP begrenzen die Größe von hochzuladenden Dateien ebenfalls.
Wer beendet ganz überraschend mein Dateihochladen mit "Incomplete file received"?
Sie könnten nicht genug Platz in einem Bereich für Zwischenspeicherungen haben, der entweder von PmWiki oder von PHP benutzt wird. Auf *nix muss genug Platz in /tmp und /var/tmp sein.
Wie mache ich es, dass der Hochladenverweis einem weiterhin erlaubt, eine weitere Datei hochzuladen (falls jemand die alte Dateiversion durch eine neuere zu ersetzen wünscht)? Momentan bekommt man den Hochladenverweis nur, wenn nicht schon eine Datei in dem Hochladenverzeichnis ist.
Nutzen Sie die Anhängen-Seitenaktion und klicken Sie auf das Deltasymbol (Δ), das an jeder aufgelisteten Datei angezeigt wird. Wenn Sie die Anhängen-Aktion immer noch nicht sehen, sind entweder das Hochladen von Dateien nicht erlaubt, Sie nicht zum Hochladen berechtigt oder die Anhängen-Aktion ist auskommentiert oder fehlt.
Siehe auch Verfügbare Aktionen und werfen Sie einen Blick auf Test?action=upload.
Wie verhindere ich das Hochladen eines gewissen Dateityps?
Hier ist sind Beispiele, was in Ihrer local/config.php-Datei ergänzt werden muss, um Hochladen von .zip-Dateien oder Dateien ohne Dateierweiterung zu verhindern:
$UploadExtSize['zip'] = 0; # verhindert das Hochladen von .zip-Dateien.
$UploadExtSize[''] = 0; # verhindert das Hochladen von Dateien ohne Erweiterung
Wie vermeidet man Probleme mit non-ASCII-Zeichen in den Namen der Anhänge (z. B. "Zażółć geślą jaźń.doc")?
Fügen Sie in ihre local/config.php-Datei die folgende Zeile ein und modifizieren Sie sie für Ihre Bedürfnisse:
$UploadNameChars = "-\w. !=+#"; # erlaube Ausrufezeichen, Gleichheitszeichen, Plus und Doppelkreuz
Wie verberge ich dieses "Attach:" für alle Anhänge?
Siehe Cookbook:AttachLinks. Das funktioniert augenblicklich nicht für [[Attach:my file.ext]]
.
Wie kann ich Dateien hochladen, die vier-Zeichen-lange Dateierweiterungen haben wie beispielsweise 'abc.pptx'?
Siehe Cookbook:Upload Types.
Wie kann ich andere daran hindern, den URL meiner Bilder auf ihrer Site zu benutzen?
Siehe Cookbook:Prevent Hotlinking →
Wie kann ich eine Datei anzeigen, der eine korrekte Dateiendung fehlt? (etwa, wenn ich Cookbook:LinkIcons benutze)
Eine Datei können Sie anzeigen, indem Sie eine "gefälschte" Dateiendung an den URL anhängen. Wenn z. B. der URL http://example.com/dox/mydoc
lautet, fügen Sie einen fingierten Querystring mit der gewünschten Dateiendung an (z. B. http://example.com/dox/mydoc?format=.docx
). Wenn Querystrings nicht geeignet sind, sollte es ein Bezeichnerfragment tun, z. B. http://example.com/dox/mydoc#.docx
.
für die Liste aller Seiten