Stand: 30.12.2008 04:56 aktuelle Version auf phpBB.de

Apache At Work Communities Community Building Informationen und Hinweise Installation/Konfiguration/Update MySQL PHP phpBB-Optimierungen phpBB3 Rechtliches Server & Technik Snippets Templates und Mods

Knowledge Base Offline -> Installation/Konfiguration/Update -> Hinweise, wenn das Hochladen von Avataren nicht funktioniert

Hinweise, wenn das Hochladen von Avataren nicht funktioniert
Autor: PhilippK
Stand: 30.12.2008 04:56
Neuste Version unter: http://www.phpbb.de/doku/kb/avatar_upload

### Hinweise, wenn das Hochladen von Avataren nicht funktioniert

##### In diesem Beitrag werden mögliche Probleme beschrieben, die beim Upload eines Avatars (Benutzerbild) auf den eigenen Server auftreten können.

Ist der Upload eines Avatars nicht möglich, so kann die Ursache an verschiedenen Stellen liegen. Im Folgenden sind die wesentlichen Ursachen dargestellt und mögliche Abhilfen beschrieben.
1. Grundsätzliches
Hochgeladen werden können nur Bilder im JPEG-, GIF- oder PNG-Format, die die im Admininstrations-Bereich angegebenen Kriterien für Dateigröße und Abmessungen erfüllen.
2. Die Grundkonfiguration
Im Administrations-Bereich müssen unter Allgemeines - Konfiguration einige Voreinstellungen vorgenommen werden, damit der Upload von Avataren funktionieren können. Die entsprechenden Optionen befinden sich alle unter dem Punkt Avatareinstellungen.

- Zum einen muss der Upload selbst aktiviert werden, in dem die Option 'Hochladen von Avataren erlauben' auf 'Ja' gestellt wird.
- Zum anderen muss unter 'Avatar Speicherpfad' ein Ordner angegeben werden, in dem die hochgeladenen Bilder gespeichert werden sollen. Der Ordner muss sich dabei unterhalb des Forum-Ordner befinden und manuell angelegt werden. Die Pfadangabe muss relativ erfolgen, wobei am Anfang und am Ende des Pfades kein Slash (Schrägstrich) eingegeben werden darf. Es sind grundsätzlich die UNIX-Schrägstriche (/) und nicht die unter Windows verwendeten umgekehrten Schrägstriche (backslashes: \) zu verwenden.
  Befindet sich z.B. das Forum im Verzeichnis http://www.domain.de/forum/ und die Avatars sollen im Verzeichnis http://www.domain.de/forum/images/avatars/ abgelegt werden, so lautet die richtige Eingabe in dem Feld: 'images/avatars' (ohne Anführungszeichen).
- Darüber hinaus sind unter 'Maximale Größe' und 'Maximale Abmessungen des Avatars' entsprechende Eintragungen vorzunehmen

3. Berechtigungen für die Ordner
Der Upload erfolgt bei PHP in zwei Schritten: im ersten Schritt wird die Datei in ein temporäres Verzeichnis (i.d.R. außerhalb des Pfades der Web-Präsenz) hochgeladen, in dem der Inhalt der Datei überprüft werden kann. Im zweiten Schritt wird die Datei in das im Administrations-Bereich hinterlegte Verzeichnis verschoben.
Für beide Ordner müssen entsprechende Lese- und Schreibrechte gesetzt werden. Für den Ordner, in dem das Bild letztendlich abgelegt wird, geschieht dies i.d.R. dadurch, dass du die Berechtigungen für das Verzeichnis per CHMOD (siehe diesen Beitrag auf '777' setzt. Es kann jedoch auch vorkommen (vor allem bei Windows-Servern), dass diese Änderung durch deinen Provider erfolgen muss.
Auch für das temporäre Verzeichnis muss eine entsprechende Einstellung erfolgen, was jedoch i.d.R. durch deinen Provider bereits geschehen sein sollte. (Solltest du das ganze auf dem eigenen Server machen sollen: das temporäre Verzeichnis wird in der php.ini mit der Option upload_tmp_dir festgelegt.)
4. Die PHP-Konfiguration
Sollte jetzt der Upload immer noch nicht klappen, so liegt das Problem meist an der Konfiguration von PHP:

- Der Upload muss erlaubt sein und eine nicht zu geringe Maximalgröße für Uploads festgelegt sein. (siehe PHP-Dokumentation)
- Mit der Option open_basedir (siehe auch diesen Beitrag) kann dein Provider festlegen, auf welche Verzeichnisse PHP zugreifen darf. Hier muss das Verzeichnis, in dem sich deine Web-Präsenz befindet und das Verzeichnis des temporären Ordners eingetragen sein. Oft ist vor allem letzteres nicht der Fall: ein unter upload_tmp_dir festgelegtes Verzeichnis (bzw. das Standard-Verzeichnis) sollte bei der Verwendung von open_basedir natürlich auch dort aufgeführt werden.
  Insbesondere wenn ein Fehler bei der Funktion 'move_uploaded_file' auftritt, deutet dies auf ein Problem bei dieser Einstellung hin. (I.d.R. musst du dazu deinen Provider kontaktieren. Mehrere Pfadangaben bei open_basedir sind per Komma (UNIX) bzw. Strichpunkt (Windows) abzutrennen).
- Ist der Safe Mode von PHP aktiviert, so muss zusätzlich ein Verzeichnis 'tmp' (ohne Anführungszeichen) unterhalb dem Ordner für die hochgeladenen Avatare erstellt werden. Dieses Verzeichnis ist für den Upload von einer fremden URL notwendig und muss ebenfalls per CHMOD die Berechtigung '777' erhalten.

5. Fehlermeldung "Das Avatar muss im Gif-,JPG- oder PNG Format sein."
Erscheint beim Upload eine Fehlermeldung "Das Avatar muss im Gif-,JPG- oder PNG Format sein.", so kann folgende Änderung an der ./includes/usercp_avatar.php helfen:
Folgenden Code suchen:

Code:
case 'jpeg': case 'pjpeg': case 'jpg': return '.jpg'; break; case 'gif': return '.gif'; break; case 'png': return '.png'; break;

und diesen ersetzen durch:

Code:
case 'image/jpeg': case 'image/pjpeg': case 'image/jpg': case 'jpeg': case 'pjpeg': case 'jpg': return '.jpg'; break; case 'image/gif': case 'gif': return '.gif'; break; case 'image/x-png': case 'png': return '.png'; break;

(siehe auch diesen Beitrag)

Knowledge Base Offline -> Installation/Konfiguration/Update -> Hinweise, wenn das Hochladen von Avataren nicht funktioniert

| phpBB.de Knowledge Base (Offline-Version) ©2005 Sascha Carlin und das phpBB.de-Team - Impressum Das Kopieren von Artikeln (auch auszugsweise) ist nur nach ausdrücklicher Genehmigung erlaubt! phpBB.de: Infos | Forum | Downloads | Dokumentation |