Variablen für das Hochladen

für die Liste aller Seiten

Administratoren (Fortgeschritten)

Siehe auch: Hochladen von Dateien, Verwaltung der Anhänge.

$EnableUpload
Das Skript upload.php wird automatisch von stdconfig.php eingebunden, wenn die Variable $EnableUpload wahr (true) in config.php gesetzt wurde. Es kann sein, dass immer noch ein Hochladen-Passwort gesetzt werden muss, bevor das Hochladen möglich ist (siehe Administration hochgeladener Dateien).
$UploadExts
Ein Array, das als Schlüssel die Dateiendungen, die in das Wiki hochgeladen werden können, und als Werte den Standard-MIME-Inhaltstyp für diese Endung enthält. Siehe Adding new file types to permitted uploads.
$EnableUploadMimeMatch
Per Vorgabe prüft PmWiki nur Dateiendungen und Benutzer können Dateien mit einer falschen Dateiendung hochladen, z. B. eine PDF-Datei mit einer .doc-Endung oder eine Datei mit einer verbotenen Endung, die in eine erlaubte Endung umbenannt wurde. Setzen Sie diese Variable auf 'true', wird auch der MIME-Inhaltstyp der hochgeladenen Datei geprüft, und wenn der nicht zu dem in $UploadExts definierten passt, wird das Hochladen verweigert.
$EnableUploadMimeMatch = true;
Beachten Sie, dass dies gelegentlich gültige Dateien blockieren kann, so könnte eine CSV-Datei als "text/plain" oder "application/csv" erkannt werden, oder eine passwortgeschützte Office-Datei könnte als "application/encrypted" erscheinen. Um solche Dateien zu erlauben, konfigurieren Sie den Inhaltstyp zu der Dateiendung als regulären Ausdruck:
 $EnableUploadMimeMatch = array(
  'csv'=>'!^(text/plain|application/csv)$!',
  'docx'=>'!^(application/encrypted)$!',
);
$UploadBlacklist
Dieses Array enthält verbotene Zeichenketten für hochzuladene Dateien (Groß/Kleinschreibung egal). Einige Installationen mit Apache-Servern versuchen eine Datei, deren Name ".php", ".pl" oder ".cgi" enthält, auszuführen, selbst wenn diese Erweiterung nicht der letzte Teil des Namen ist. Zum Beispiel wird eine Datei "test.php.txt" womöglich ausgeführt. Um das Hochladen solcher Dateien zu verhindern, fügen Sie zur Datei config.php eine solche Zeile hinzu:
$UploadBlacklist = array('.php', '.pl', '.cgi', '.py'); # Skriptdateien hochzuladen verbieten
$UploadPermAdd
Diese Variable setzt zusätzliche Unix-Rechte, die für neu hochgeladene Dateien angewendet werden, und sollte 0 sein (empfohlen seit 2013). Wenn hochgeladene Dateien nicht heruntergeladen werden können, und auf der Webseite wird z. B. der Fehler 403 Forbidden angezeigt, setzen Sie diesen Wert auf 0444 (interne Setzung, Vorgabe seit 2004).
$UploadPermAdd = 0; # empfohlen
$UploadPermSet
Diese Variable setzt Unix-Rechte, die bedingungslos für neu hochgeladene Dateien gesetzt werden, z. B. 0604. Gefahr! Verändern Sie diese Variable nicht, es sei denn, Sie wissen was Sie tun! Wenn Sie einen Fehler machen, könnten es unmöglich werden, hochgeladene Dateien mittels FTP/SSH-Zugang zu verändern oder zu löschen (in dem Falle könnte Cookbook:Attachtable angewendet werden) oder herunterzuladen und in der Website anzuzeigen. Beachten Sie, dass Datei-Rechte auf verschiedenen Systemen unterschiedlich sein können - wenn Sie Ihre PmWiki-Installation kopieren oder verschieben, müssten Sie sie eventuell anpassen.
$UploadDir
Das Verzeichnis, in dem hochgeladene Dateien gespeichert werden. Standard ist uploads/ im pmwiki Verzeichnis, kann aber auf jedes Verzeichnis auf dem Server gesetzt werden. Dieses Verzeichnis muss vom Webserver beschreibbar sein, wenn ein Hochladen erfolgt.
$UploadUrlFmt
Die Internetadresse des Verzeichnisses, das durch $UploadDir bestimmt wird. Standard ist, die Adresse aus $PubDirUrl und $UploadDir abzuleiten.

$IMapLinkFmt['Attach:']
Das Format, in dem der Hochladen-Verweis angezeigt wird, wenn ein Anhang existiert. Es kann durch eine solche Zeile in der config.php-Datei geändert werden:
$IMapLinkFmt['Attach:'] = "<a class='attachlink' href='\$LinkUrl'>\$LinkText</a>";
$LinkUploadCreateFmt
Das Format des Hochladen-Verweises, wenn kein Anhang vorhanden ist. Es kann durch eine solche Zeile in der config.php-Datei geändert werden:
$LinkUploadCreateFmt = "<a class='createlinktext' href='\$LinkUpload'>\$LinkText</a>
<a class='createlink' href='\$LinkUpload'>&nbsp;&Delta;</a>";
$UploadPrefixFmt
Setzt den Präfix für hochgeladenen Dateien. Damit können Anhänge anstatt nach Gruppen auf eine andere Weise organisiert werden. Standard ist '/$Group' (hochgeladene Dateien werden nach den Gruppen organisiert), kann aber auch für die gesamte Webseite oder für eine seitenweise Organisation gesetzt werden.
$UploadPrefixFmt = '/$Group/$Name'; # Anhänge nach Seiten organisiert
$UploadPrefixFmt = ''; # Anhänge der gesamten Website in einem gemeinsamen Verzeichnis
Es wird empfohlen, die $UploadPrefixFmt-Variable in der config.php-Datei so zu definieren, dass das Verzeichnis für die Dateien aller Seiten gilt und nicht gruppen- oder seitenweise organisiert wird. Andernfalls können Sie nicht auf Anhänge anderer Seiten oder Gruppen verweisen.
$EnableDirectDownload
Wenn diese Variable auf 1 gesetzt wird (Standard), umgehen die Verweise auf Downloads PmWiki und die Downloads kommen direkt vom Webserver. Wird $EnableDirectDownload=0; eingestellt, wird jede Anfrage nach einem Anhang von ?action=download behandelt. Damit ist es für PmWiki möglich, Anhänge gemäß der Leserechte der Seite zu schützen. Allerdings erhöht das auch die Belastung des Servers. Vergessen Sie nicht, das Hochladen-Verzeichnis mit einer .htaccess-Datei zu schützen (Order Deny,Allow / Deny from all).
$EnableDownloadRanges
Wenn das Wiki geschützte Downloads kennt (siehe $EnableDirectDownload), sendet es einen HTTP-Header "Accept-Ranges" und kann Inhaltsteile ausliefern, wenn das der Browser abfordert. Das kann für große Dateien wie Videos nützlich sein und ist standardmäßig aktiviert. Setzen Sie diese Variable auf 0, um dieses Feature zu deaktivierten, sodass nur vollständige Dateien ausgeliefert werden.
$EnableUploadGroupAuth
Setzen Sie $EnableUploadGroupAuth = 1;, um Herunterladen mit dem Gruppen-Passwort authentifizieren zu können. Das kann zusammen mit $EnableDirectDownload = 0; genutzt werden.
Beachten Sie: $EnableUploadGroupAuth sollte nicht aktiviert werden, wenn Ihr Wiki die Anhänge seitenweise organisiert.
$EnableUploadVersions
Wenn diese Variable auf 1 (Standard ist 0) gesetzt wird, wird eine bestehende Datei gleichen Namens zu datei.erw,zeitpunkt umbenannt, wenn hochgeladen wird (anstatt sie zu überschreiben). zeitpunkt ist eine Zeitangabe im Unix-Stil.
$EnableUploadOverwrite
Wird auf 1 gesetzt, wenn früher hochgeladene Dateien (gleichen Namens) überschrieben werden dürfen.
$UploadNameChars
Der Satz der Zeichen, die in den Namen hochgeladener Dateien vorkommen dürfen. Voreingestellt ist "-\w. ", das bedeutet Bindestriche, alphanumerische Zeichen und Unterstriche, Punkte und Leerzeichen dürfen in den Namen benutzt werden, alles andere wird herausgestrichen. Man kann nur Zeichen zulassen, die in der 'code page' (der Zeichensatztabelle) des Wikis vorkommen, siehe Wikipedia:Zeichensatztabelle.
$UploadNameChars = "-\\w. !"; # Voreinstellung: erlaube Bindestriche, Buchstaben, Ziffern, Unterstriche, Punkte, Leerzeichen und Ausrufezeichen
$UploadNameChars = "-\\w. \\x80-\\xff"; # erlaube Unicode
Beachten Sie: Nicht alle Zeichen können in Dateinamen verwendet werden, wegen verschiedener Einschränkungen durch Protokolle oder Betriebssystemen, Dateisystemen und Serversoftware oder Konflikten mit PmWiki-Auszeichnungen.
  • +?:@#%!=/ haben besondere Bedeutungen in URL-Adressen,
  • |\^`[]?:@#%/ könnten auf einigen Systemen unmöglich zu speichern sein,
  • <>"|\^`(){}[]#% könnten mit PmWiki-Auszeichnungen kollidieren,
es wird also ausdrücklich empfohlen, diese nur dann zu erlauben, wenn Sie wissen, was Sie tun.
$MakeUploadNamePatterns
ein Array von Ersetzungen mittels regulärer Ausdrücke, mit deren Hilfe die Dateinamen der hochgeladenen Dateien normalisiert werden. Zuerst wird alles außer $UploadNameChars heraus gestrichen, dann wird die Dateierweiterung in Kleinbuchstaben umgewandelt. Administratoren können diese Ersetzungen mit eigenen Definitionen überschreiben (das ganze Array muss neu definiert werden). Aktuell wird die folgende Sequenz abgearbeitet:
    $MakeUploadNamePatterns = array(
    "/[^$UploadNameChars]/" => '',   # streiche alle nicht erlaubten Zeichen
    '/\\.[^.]*$/' => 'cb_tolower',   # wandle die Dateierweiterung in Kleinbuchstaben um (callback-Funktion)
    '/^[^[:alnum:]_]+/' => '',       # streiche führende Leerzeichen, Bindestriche und Punkte
    '/[^[:alnum:]_]+$/' => ''));     # streiche Leerzeichen, Bindestriche und Punkte am Ende
$UploadDirQuota
Generelle Größenbegrenzung für hochzuladende Dateien.
   $UploadDirQuota = 100*1024;         # begrenzt Uploads auf  100KiB
   $UploadDirQuota = 1000*1024;        # begrenzt Uploads auf 1000KiB
   $UploadDirQuota = 1024*1024;        # begrenzt Uploads auf    1MiB
   $UploadDirQuota = 25*1024*1024;     # begrenzt Uploads auf   25MiB
   $UploadDirQuota = 2*1024*1024*1024; # begrenzt Uploads auf    2GiB
$UploadPrefixQuota
Generelle Größenbegrenzung für ein Verzeichnis mit hochzuladende Dateien. Dies Verzeichnis ist gewöhnlich uploads/GroupName (eines für jede Wiki-Gruppe) oder uploads/Group/PageName (eines für jeder Seite), abhängig von der Variablen $UploadPrefixFmt.
$UploadMaxSize
Maximale Größe von hochzuladenden Dateien, voreingestellt sind 50000 Bytes.
$UploadExtSize
Maximale Größe je Dateierweiterung, überschreibt den Wert in $UploadMaxSize.
   $UploadExtSize['zip'] = 2*1024*1024; # Erlaube ZIP-Dateien bis zu 2MiB
$UploadRedirectFunction
Die Funktion, die aufgerufen werden muss, nachdem eine Datei hochgeladen wurde. Gewöhnlich wird die Funktion mit den Argumenten $pagename und dem URL der ?action=upload-Seite aufgerufen (mit zusätzlichen Informationen, ob das Hochladen erfolgreich war oder warum es das nicht war und ob die Datei umbenannt wurde). Ein Add-On darf seine eigene Funktion definieren, z. B. würde ein AJAX-Funktion zum Hochladen nur Variablen an den Browser zurückgeben.

für die Liste aller Seiten


Übersetzung von PmWiki.UploadVariables,   Originalseite auf PmWikiDe.UploadVariables   —   Backlinks

Zuletzt geändert:   PmWikiDe.UploadVariablesam 27.05.2023
 PmWiki.UploadVariablesam 25.05.2023