Bilderupload im Adminbereich

Begonnen von JFS-Hennef, 03 Januar 2006, 19:08:35

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 3 Gäste betrachten dieses Thema.

JFS-Hennef

Hallo Gemeinde,

habe seit 3 Tagen mein pragmaMX Version 0.1.7 Online und suche noch nach möglichen Fehlern. Gefunden habe ich ein Problem beim Upload der Bilder für z.B. bei News über Bildupload im Adminbereich. Hab das Verzeichnis images/iupload zwischenzeitlich sogar auf 777 gesetzt. Kein Erfolg. Er behauptet zwar beim Upload alles wäre toll, aber er zeigt kein Bild an und im o.g. Verzeichnis liegt auch kein Bild...

Was nun?? Hat jemand ne Idee...?? Wenn ich den Debugmode anstelle, zeigt er leider auch nix an...(wie auch er behauptet ja alles wäre i.O.)

Gruss

Detlef

Andi

Hmm, gute Frage ;)

läuft dein Server evtl. im Safe_mode?

Das kannst du sehen in dem du die php-Info über das Adminmenü aufrufst, die Einstellung "safe_mode", on oder off?
schön´s Grüssle, Andi

JFS-Hennef

Hi Andi,

schön das Du Dich meldest...Bin schon den ganzen Tag auf der Suche...Habe auch die anderen Threads gelesen, aber bislang nirgends eine Lösung. Die geforderte Übersicht des Servers kann ich Dir liefern:

safe_mode Off Off
safe_mode_exec_dir no value no value
safe_mode_gid Off Off
safe_mode_include_dir no value no value


Ich habe auch bereits hier nach gesehen:

file_uploads On On
upload_max_filesize 8M 8M
upload_tmp_dir no value no value


Also eigentlich sollte alles im Lot sein...

Habe mir das images.php mal angesehen und mich über die unterschiedlichen Darstellungen der Directories gewundert :

$imagesdir = dir("images/iupload");

$udir = "/images/iupload/";

$udir2 = "images/iupload/";

Schien mir auf den ersten Blick nicht logisch, aber lokal auf meinem Rechner macht er ja alles brav...

Was tun sprach Zeus?

Danke schon mal für deine Hilfe.

Detlef

plingo

Ich hatte das Problem auch. Gelöst habe ich das simplerweise dadurch, dass ich den Backslash bei udir vorne entfernt habe, sodass es der gleiche Pfad ist wie bei udir2:
$imagesdir = dir("images/iupload");
$udir = "images/iupload/";
$udir2 = "images/iupload/";

JFS-Hennef

Hi Plingo,

das führt bei mir zu einer wirklichen Fehlermeldung. Sorry, aber bei mir scheint es ein anderes Problem zu geben...

Detlef

xels

Ich hol das hier mal wieder rauf.
Bei der aktuellen Version von PragmaMX besteht das Problem immer noch. Offensichtlich werden die CHMOD's für die raqufgeladenen Bilder falsch gesetzt.
Ändert man den CHMOD manuell nach dem Upload auf 777 dann kann man im Bilderuploadsystem die ruafgeladenen Datein auch sehen. Lässt man es so wie es nach dem raufladen gesetzt wird sieht man lediglich das berühmte rote "x" und das Bild wird nicht angezeigt, obwohl in der Liste vorhanden.

Gibts da schon einen Lösungsansatz?

P.S. Hab schon dem Verzeichnis \images\iupload die Rechte "777" gegeben, geht ttrotzdem nicht. Die raufgeladenen Bilder haben nicht mal das Recht angezeigt zu werden.

xels


DigDug

Selbiges Problem mit den Rechten habe ich auch, dass sie nach dem Upload auf 600 gesetzt sind (Nur Besitzer darf lesen und schreiben). :gruebel:

Atze

ja hab ich auch. Was kann man tun=?
Fahr mal das Becks hoch!

JoergK

Habt ihr mal diesen Beitrag

http://www.pragmamx.org/Forum-topic-22076.html

gelesen?

In Antwort 38 steht die (mögliche) Ursache Lösung des Problems.
Mit dem dortigen Hinweis einfach mal den Provider antickern oder, falls ihr nen V- oder Root-Server habt, mit dem Unix/Linux-Fachmann eures Vertrauens sprechen.  ;)
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

DigDug

Das müßte sicher aber eigentlich auch anders lösen lassen, da der Avatar-Upload im SMF-Forum z.B. problemlos bei mir klappt...

JoergK

Beim SMF sowie auch beim Avatar-Upload-Modul werden die Schreib-/Leserechte explizit nach dem Upload auf 644 gesetzt (sofern die PHP-Einstellungen des Providers das zulassen).

Beim Adminmodul Bildupload ist das nicht der Fall - hier wurde noch darauf vertraut, dass die Provider per Einstellung den hochgeladenen Dateien automatisch die Standardrechte 644 zuweisen, was wohl bis vor einiger Zeit mit ganz wenigen Ausnahmen auch zutraf.

Um nun der neuen Situation gerecht zu werden, ist eine kleine Erweiterung für das Bilduploadmodul notwendig.
Öffne die Datei /admin/modules/images.php und suche die Zeilen ~207-208
        if (move_uploaded_file($_FILES['imgfile']['tmp_name'][$i], $copyto)) {
            $dimensions = ($size[0] > $max_view_width) ? ' width="' . $max_view_width . '"' : $size[3] ;

und füge zwischen diesen beiden Zeilen die PHP-Function chmod() ein:
        if (move_uploaded_file($_FILES['imgfile']['tmp_name'][$i], $copyto)) {
            @chmod($copyto, 0644);
            $dimensions = ($size[0] > $max_view_width) ? ' width="' . $max_view_width . '"' : $size[3] ;

und schon sollten die hochgeladenen Dateien mit den Schreib-/Leserechten 644 versehen sein. Sollten diese Rechte nicht ausreichen, dann änder die 0644 in 0666;)
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

DigDug

Vielen Dank, das funktioniert! :thumbup:
Würde vielleicht Sinn machen, das ins CVS bzw. in die nächste Version einzufügen.

Atze

Fahr mal das Becks hoch!

JoergK

Zitat von: DigDug am 02 September 2007, 16:33:51
Würde vielleicht Sinn machen, das ins CVS bzw. in die nächste Version einzufügen.

Jo, hab's mal in den Bugtracker geschrieben, damit wir's nicht vergessen.  ;)
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody