Kein Avatar-Upload von Festplatte?!
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.1, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
-
Christian Benz
- Mitglied
- Beiträge: 854
- Registriert: 25.02.2004 00:41
- Wohnort: Regen
- Kontaktdaten:
Hi,
ja, allow_avatar_local legt fest ob Avatargalerien genutzt werden dürfen: 0 = nein, 1 = ja
Näheres findest du in der Doku "Datenbankbeschreibung":
http://www.phpbb.de/doku/doku2.php?mode=config#config
Das Feld avatar_path ist auch gesetzt? Das Verzeichnis hat die entsprechenden Rechte (777)? (Vermutlich ja, sonst würde das mit dem Upload via URL nicht gehen.)
Vorstellbar wäre evtl. noch, dass die Variable $form_enctype auf '' (leer) gesetzt wird.
Es ist so: Die beiden Zeilen die du vorhin testweise entfernt hast, sorgen dafür das der Teil dazwischen zur Wirkung kommt (also dass das Feld zum Upload erscheint) - oder eben nicht.
"Ein- und ausgeschaltet" wird das in der usercp_register.php (ziemlich am Schluß):
Damit der "switch_avatar_local_upload" eingeschaltet werden kann, muß die Variable $form_enctype ungleich "leer" sein (also einen Inhalt aufweisen). Die Variable wird weiter oben im Code festgelegt:
Möglicherweise liegt's an einer eingesetzten php Version oder Konfiguration, dass hier (aus "gutem Grund") die Uploadfunktion verhindert wird.
Du kannst ja mal testen, ob das wirklich bei dir der Fall ist, indem du in deiner usercp_register.php die Zeile
ersetzt gegen
Dann ins Profil reinschauen ob nun die Upload-Möglichkeit vorhanden/angezeigt wird. (Sicherheitshalber aber nichts uploaden sondern die Änderung wieder rückgängig machen.) Sollte das so wie beschrieben klappen, dann kannst du davon ausgehen, dass es am Wert von $form_enctype liegt - und der wird dann vermutlich seinen (berechtigten) Grund haben. Vielleicht kann ein php-Profi dann mehr dazu sagen, was es damit genau auf sich hat ...
Gruß,
Chris
ja, allow_avatar_local legt fest ob Avatargalerien genutzt werden dürfen: 0 = nein, 1 = ja
Näheres findest du in der Doku "Datenbankbeschreibung":
http://www.phpbb.de/doku/doku2.php?mode=config#config
Das Feld avatar_path ist auch gesetzt? Das Verzeichnis hat die entsprechenden Rechte (777)? (Vermutlich ja, sonst würde das mit dem Upload via URL nicht gehen.)
Vorstellbar wäre evtl. noch, dass die Variable $form_enctype auf '' (leer) gesetzt wird.
Es ist so: Die beiden Zeilen die du vorhin testweise entfernt hast, sorgen dafür das der Teil dazwischen zur Wirkung kommt (also dass das Feld zum Upload erscheint) - oder eben nicht.
"Ein- und ausgeschaltet" wird das in der usercp_register.php (ziemlich am Schluß):
Code: Alles auswählen
if ( $mode != 'register' )
{
if ( $userdata['user_allowavatar'] && ( $board_config['allow_avatar_upload'] || $board_config['allow_avatar_local'] || $board_config['allow_avatar_remote'] ) )
{
$template->assign_block_vars('switch_avatar_block', array() );
if ( $board_config['allow_avatar_upload'] && file_exists(@phpbb_realpath('./' . $board_config['avatar_path'])) )
{
if ( $form_enctype != '' )
{
$template->assign_block_vars('switch_avatar_block.switch_avatar_local_upload', array() );
}Code: Alles auswählen
// Let's do an overall check for settings/versions which would prevent
// us from doing file uploads....
//$ini_val = ( phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var';
$form_enctype = ( @$ini_val('file_uploads') == '0' || strtolower(@$ini_val('file_uploads') == 'off') || phpversion() == '4.0.4pl1' || !$board_config['allow_avatar_upload'] || ( phpversion() < '4.0.3' && @$ini_val('open_basedir') != '' ) ) ? '' : 'enctype="multipart/form-data"';Du kannst ja mal testen, ob das wirklich bei dir der Fall ist, indem du in deiner usercp_register.php die Zeile
Code: Alles auswählen
if ( $form_enctype != '' )Code: Alles auswählen
if ( true )Gruß,
Chris
-
McKBochum
- Mitglied
- Beiträge: 11
- Registriert: 18.06.2005 00:30
- Wohnort: Tief im Westen :) (Bochum)
- Kontaktdaten:
OK!Christian Benz hat geschrieben: ja, allow_avatar_local legt fest ob Avatargalerien genutzt werden dürfen: 0 = nein, 1 = ja
Ja, ist gesetzt und hat auch die entsprechenden CHMOD-Rechte!Christian Benz hat geschrieben: Das Feld avatar_path ist auch gesetzt? Das Verzeichnis hat die entsprechenden Rechte (777)? (Vermutlich ja, sonst würde das mit dem Upload via URL nicht gehen.)
Ja, wenn ich die if-Anweisung umgehe indem ich sie direkt auf 'true' setze wird die Zeile ebenfalls angezeigt! Hab es aber wie von dir gesagt wieder direkt rückgängig gemacht.Christian Benz hat geschrieben: Vorstellbar wäre evtl. noch, dass die Variable $form_enctype auf '' (leer) gesetzt wird.
[...]
Du kannst ja mal testen, ob das wirklich bei dir der Fall ist, indem du in deiner usercp_register.php die Zeile
ersetzt gegenCode: Alles auswählen
if ( $form_enctype != '' )Dann ins Profil reinschauen ob nun die Upload-Möglichkeit vorhanden/angezeigt wird. (Sicherheitshalber aber nichts uploaden sondern die Änderung wieder rückgängig machen.) Sollte das so wie beschrieben klappen, dann kannst du davon ausgehen, dass es am Wert von $form_enctype liegt - und der wird dann vermutlich seinen (berechtigten) Grund haben. Vielleicht kann ein php-Profi dann mehr dazu sagen, was es damit genau auf sich hat ...Code: Alles auswählen
if ( true )
Was für einen berechtigten Grund könnte es denn haben, dass ich zwar von URL uploaden darf, von lokaler HDD aber nicht?!
Aber danke schonmal für deine Bemühungen bis hierhin!
-
Christian Benz
- Mitglied
- Beiträge: 854
- Registriert: 25.02.2004 00:41
- Wohnort: Regen
- Kontaktdaten:
Hallo,
dann liegt's wohl ziemlich sicher an (mindestens) einer der Bedingungen die hier abgefragt werden:
Vielleicht kommen wir dem Grund noch einen kleinen Schritt näher, wenn du mal deine PHP-Konfiguration auslesen läßt. Wie das geht findest du hier beschrieben: http://www.phpbb.de/doku/kb/artikel.php?artikel=85
- Schau vor allem mal welche PHP-Version bei dir läuft (steht meist ganz oben, z. B. "PHP Version 4.3.irgendwas").
- Such auch mal welchen Wert "open_basedir" hat - das ist ja auch im obigen Code enthalten.
- Welcher Wert ist bei "file_uploads" eingetragen?
Näheres dazu findest du hier:
http://www.phpbb.de/doku/kb/artikel.php?artikel=62
Gruß,
Chris
dann liegt's wohl ziemlich sicher an (mindestens) einer der Bedingungen die hier abgefragt werden:
Code: Alles auswählen
$form_enctype = ( @$ini_val('file_uploads') == '0' || strtolower(@$ini_val('file_uploads') == 'off') || phpversion() == '4.0.4pl1' || !$board_config['allow_avatar_upload'] || ( phpversion() < '4.0.3' && @$ini_val('open_basedir') != '' ) ) ? '' : 'enctype="multipart/form-data"';- Schau vor allem mal welche PHP-Version bei dir läuft (steht meist ganz oben, z. B. "PHP Version 4.3.irgendwas").
- Such auch mal welchen Wert "open_basedir" hat - das ist ja auch im obigen Code enthalten.
- Welcher Wert ist bei "file_uploads" eingetragen?
Näheres dazu findest du hier:
http://www.phpbb.de/doku/kb/artikel.php?artikel=62
Gruß,
Chris
-
McKBochum
- Mitglied
- Beiträge: 11
- Registriert: 18.06.2005 00:30
- Wohnort: Tief im Westen :) (Bochum)
- Kontaktdaten:
Hallo auch nochmalChristian Benz hat geschrieben:Hallo,
4.3.10-15Christian Benz hat geschrieben: dann liegt's wohl ziemlich sicher an (mindestens) einer der Bedingungen die hier abgefragt werden:
Vielleicht kommen wir dem Grund noch einen kleinen Schritt näher, wenn du mal deine PHP-Konfiguration auslesen läßt. Wie das geht findest du hier beschrieben: http://www.phpbb.de/doku/kb/artikel.php?artikel=85Code: Alles auswählen
$form_enctype = ( @$ini_val('file_uploads') == '0' || strtolower(@$ini_val('file_uploads') == 'off') || phpversion() == '4.0.4pl1' || !$board_config['allow_avatar_upload'] || ( phpversion() < '4.0.3' && @$ini_val('open_basedir') != '' ) ) ? '' : 'enctype="multipart/form-data"';
- Schau vor allem mal welche PHP-Version bei dir läuft (steht meist ganz oben, z. B. "PHP Version 4.3.irgendwas").
Local Value: Hat den Wert "/var/www/Benutzername/". In diesem Ordner findet sich unter anderem der Ordner "html" indem die komplette Homepage liegt und ein Ordner "phptmp"!Christian Benz hat geschrieben: - Such auch mal welchen Wert "open_basedir" hat - das ist ja auch im obigen Code enthalten.
Global Value: "no value"
Local Value: Steht auf off!Christian Benz hat geschrieben: - Welcher Wert ist bei "file_uploads" eingetragen?
Global Value: "on"
Danke, den Link kannte ich schon und hab auch alles erforderliche versucht. Hatte auch im Ordner "avatars" schon 'nen Unterordner "tmp" mit CHMOD-777 erstellt, da bei meinem Provider leider auch "safe_mode" auf on steht.Christian Benz hat geschrieben: Näheres dazu findest du hier:
http://www.phpbb.de/doku/kb/artikel.php?artikel=62
Allerdings geht der Upload per URL doch auch über den Temp-Ordner, oder nicht? Bevor ich den "tmp"-Ordner erstellt hatte, ging nämlich der Upload per URL auch nicht. Also daran dürfte es doch eigentlich auch nicht liegen, oder liege ich da falsch?
-
Christian Benz
- Mitglied
- Beiträge: 854
- Registriert: 25.02.2004 00:41
- Wohnort: Regen
- Kontaktdaten:
Hallo,
http://www.dynamic-webpages.de/php/ini. ... ploads.php
Wenn du sicher gehen möchtest woran's in der Codezeile scheitert, könntest du die einzelnen mit ODER verknüpften Teile mal testweise auseinanderpflücken (sofern du noch die Nerven dazu hast
).
Nimm dir diese bereits genannte Zeile vor:
Ersetze diese nacheinander jeweils mit einer der folgenden Zeilen und gehe danach wieder wie gehabt ins Profil und schau ob die Eingabemöglichkeit für den Upload vorhanden ist oder nicht. Entscheidend ist dabei, festzuhalten bei welcher Zeile die Eingabe für den Upload nicht vorhanden ist. Das wäre dann sozusagen der "Übeltäter" bzw. Grund.
1.
2.
3.
4.
(Am Ende des Tests natürlich wieder gegen die originale Zeile ersetzen.)
Ich bin mir ziemlich sicher, dass es an Punkt "1" liegen wird - also an der PHP-Konfiguration mit file_uploads=off.
Gruß,
Chris
Steht bei mir jeweils auf "on" - ob's daran liegt?Local Value: Steht auf off!"file_uploads"
Global Value: "on"
http://www.dynamic-webpages.de/php/ini. ... ploads.php
Wenn du sicher gehen möchtest woran's in der Codezeile scheitert, könntest du die einzelnen mit ODER verknüpften Teile mal testweise auseinanderpflücken (sofern du noch die Nerven dazu hast
Nimm dir diese bereits genannte Zeile vor:
Code: Alles auswählen
$form_enctype = ( @$ini_val('file_uploads') == '0' || strtolower(@$ini_val('file_uploads') == 'off') || phpversion() == '4.0.4pl1' || !$board_config['allow_avatar_upload'] || ( phpversion() < '4.0.3' && @$ini_val('open_basedir') != '' ) ) ? '' : 'enctype="multipart/form-data"';1.
Code: Alles auswählen
$form_enctype = ( @$ini_val('file_uploads') == '0' || strtolower(@$ini_val('file_uploads') == 'off') ) ? '' : 'enctype="multipart/form-data"';Code: Alles auswählen
$form_enctype = ( phpversion() == '4.0.4pl1' ) ? '' : 'enctype="multipart/form-data"';Code: Alles auswählen
$form_enctype = ( !$board_config['allow_avatar_upload'] ) ? '' : 'enctype="multipart/form-data"';Code: Alles auswählen
$form_enctype = ( phpversion() < '4.0.3' && @$ini_val('open_basedir') != '' ) ? '' : 'enctype="multipart/form-data"';Ich bin mir ziemlich sicher, dass es an Punkt "1" liegen wird - also an der PHP-Konfiguration mit file_uploads=off.
Gruß,
Chris
-
McKBochum
- Mitglied
- Beiträge: 11
- Registriert: 18.06.2005 00:30
- Wohnort: Tief im Westen :) (Bochum)
- Kontaktdaten:
Ja, du hattest Recht mit deiner Vermutung! Fall 1 ist der einzige Fall, bei dem das Feld NICHT angezeigt wird.
Ist ja letztendlich auch logisch, wenn man sich die einzelnen "Fälle" anschaut!
Aber kann man dann denn gar nichts tun? Und vorallem: Warum geht dann der Upload per URL, der ja auch über den tmp-Ordner geht?!
Gruß,
ein immer verwirrter werdender McKBochum
Ist ja letztendlich auch logisch, wenn man sich die einzelnen "Fälle" anschaut!
Aber kann man dann denn gar nichts tun? Und vorallem: Warum geht dann der Upload per URL, der ja auch über den tmp-Ordner geht?!
Gruß,
ein immer verwirrter werdender McKBochum
-
Christian Benz
- Mitglied
- Beiträge: 854
- Registriert: 25.02.2004 00:41
- Wohnort: Regen
- Kontaktdaten:
-
McKBochum
- Mitglied
- Beiträge: 11
- Registriert: 18.06.2005 00:30
- Wohnort: Tief im Westen :) (Bochum)
- Kontaktdaten:
OK! Aber wenn der Provider sich quer stellt gibt es gar keine Möglichkeit, sehe ich das richtig?
Ich mein, ich kann mich bei dem Provider auch nicht großartig beschweren, da ich nur Free-Webspace nutze. Das Forum soll eigentlich auch nur dazu dienen, dass sich unsere ehemalige Stufe ein wenig austauschen kann. Daher bin ich auch nicht bereit, dafür Geld zu bezahlen.
Ich mein, ich kann mich bei dem Provider auch nicht großartig beschweren, da ich nur Free-Webspace nutze. Das Forum soll eigentlich auch nur dazu dienen, dass sich unsere ehemalige Stufe ein wenig austauschen kann. Daher bin ich auch nicht bereit, dafür Geld zu bezahlen.
Hi,
ich wollte mal fragen, wenn ihr schon beim Thema seid, ob ihr nicht gerade noch nach mir schauen könnt ^^
Ich habe übrigens "file_uploads" auf "On" und in der config Tabelle ist "allow_avatar_upload" auf "1"
http://www.phpbb.de/viewtopic.php?t=90462
Vielen vielen Dank!!!
ich wollte mal fragen, wenn ihr schon beim Thema seid, ob ihr nicht gerade noch nach mir schauen könnt ^^
Ich habe übrigens "file_uploads" auf "On" und in der config Tabelle ist "allow_avatar_upload" auf "1"
http://www.phpbb.de/viewtopic.php?t=90462
Vielen vielen Dank!!!