Bilderupload geht nicht

Gesperrt
alterego
Beiträge: 9
Registriert: So 29. Sep 2002, 20:16
Kontaktdaten:

Bilderupload geht nicht

Beitrag von alterego »

Die entsprechenden IMG-Folder sind frei, dennoch klappt der Bildupload nicht. Es kommt:

Warning: open_basedir restriction in effect. File is in wrong directory in /home/www/web24/html/contenido/inc/upl_upload_form.inc.php on line 29
failed to copy "/tmp/phpuYb8IY" nach "/home/www/web24/html/front_single/img/ban.jpg"

Was mache ich falsch?
Björn
Beiträge: 276
Registriert: Di 17. Sep 2002, 18:25
Kontaktdaten:

Beitrag von Björn »

Vermutlich gar nichts. So weit mir bekannt ist, liegt das an Deinem Provider, der PHP in einem ziemlich scharfen "save_mode" betreibt, wo bestimmte Sachen einfach nicht erlaubt sind.

Am Besten fragst Du bei Deinen Provider mal an, ob die da was drehen können. Ansonsten wechsel den Webspaceanbieter.

Gruß Björn
alterego
Beiträge: 9
Registriert: So 29. Sep 2002, 20:16
Kontaktdaten:

Beitrag von alterego »

Das liegt auf meinem eigenen Server, also bin ich mein eigener Provider. Was muss ich ändern?
Björn
Beiträge: 276
Registriert: Di 17. Sep 2002, 18:25
Kontaktdaten:

Beitrag von Björn »

Vermutlich mußt Du (unter Windows) das tmp- Verzeichnis für Uploads vernünftig setzen. Bei unix, etc.. keine Ahnung.

Meine php.ini :

Code: Alles auswählen

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
upload_max_filesize = 100M
ich mußte bei upload_tmp_dir = aber nichts einstellen, da bei meiner php-version (4.2.2) automatisch das windowstemp- Verzeichnis genommen wird.

Gruß Björn
alterego
Beiträge: 9
Registriert: So 29. Sep 2002, 20:16
Kontaktdaten:

Beitrag von alterego »

php.ini war:

upload_max_filesize = 2M

Habe sie jetzt, deinem Beispiel folgend, auf "100" gesetzt. Aber das Problem besteht nach wie vor. Schiet!
Sven777b
Beiträge: 503
Registriert: Mi 18. Sep 2002, 00:00
Wohnort: Sachsen
Kontaktdaten:

Beitrag von Sven777b »

hi,

welches Betriebssystem verwendest du ??
failed to copy "/tmp/phpuYb8IY" nach "/home/www/web24/html/front_single/img/ban.jpg"
... lässt mehrere Gründe zu:
- unter Windows kann die Rechtevergabe kaum das problem sein - meist bist du als Admin eingeloggt. Ansonsten die Rechte des Ordners "/home/www/web24/html/front_single/img/" prüfen (777)

- björn schrieb die korrekten ansätze... die 100Mb konnten es nicht sein - denn dein Bild wird ja kaum über 2M groß gewesen sein :)
Aber er hat die geschrieben, dass das tempverzeichnis evtl. Probleme macht (was ich auch stark vermute) - setze doch bitte mal ein Tempverzeichnis und achte darauf, dass es existiert und schreibrecht hat:

upload_tmp_dir = /tmp/phptmp

vergiss nicht, das Semikolon davor zu entfernen.
die Änderung betrifft wirklich eher Windows-Systeme - denn bei Unix ist das kein Problem.

- schau mal nach, ob nicht vielleicht im Zielverzeichnis schon eine ban.jpg existiert. Normalerweise wird die Überschrieben... bei Unix-Systemen besteht aber das Problem, dass die Datei "ban.jpg" wenn du sie quasi mit hochgeladen hattest, kein schreibrecht für Contenido hat. Also entweder löschen oder CHMOD 777. (nur Unix)
Module zum anschauen:
bei Sven: http://contenido-module.de
bei Pulk : http://spielwiese.pulk.net

Der-Dirigent: http://der-dirigent.de
alterego
Beiträge: 9
Registriert: So 29. Sep 2002, 20:16
Kontaktdaten:

Beitrag von alterego »

Danke für eure Mühe - das System läuft auf Linux. Gerade habe ich es auf einem zweiten Server probiert - geht auch nicht. Weil das nur mein Problem zu sein scheint, muss ich irgendwas bei der Installation falsch machen. Die Rechte sind gesetzt, die Dateien waren zuvor nicht geladen.
Sven777b
Beiträge: 503
Registriert: Mi 18. Sep 2002, 00:00
Wohnort: Sachsen
Kontaktdaten:

Beitrag von Sven777b »

ein installationsfehler wird es bestimmt nicht sein... wenn das Verzeichnis:

/home/www/web24/html/front_single/img/
existiert und auf 777 steht (sowie alle Dateien die darin enthalten sind)
dann sollte es keine Probleme geben.
Module zum anschauen:
bei Sven: http://contenido-module.de
bei Pulk : http://spielwiese.pulk.net

Der-Dirigent: http://der-dirigent.de
Björn
Beiträge: 276
Registriert: Di 17. Sep 2002, 18:25
Kontaktdaten:

Beitrag von Björn »

hmm, das Problem wird vermutlich irgendwo in Deiner php.ini oder der Apachekonfiguration liegen. Hast Du mal versucht einen anderen Filebrowser zu installieren und was hochzuladen (Stichwort www.hotscripts.com ) . Versuch das mal, schätze das geht auch schief.

Eventuell hilft dann auch der Support Deiner Distro weiter.
alterego
Beiträge: 9
Registriert: So 29. Sep 2002, 20:16
Kontaktdaten:

Beitrag von alterego »

Ich glaube nicht, dass es in der php.ini oder Apache liegt. Hunderte Bilder sind mit anderen Uploads schon geladen worden, nur hier geht es nicht. Interessant: Wenn ich Bilder via FTP oder Shell in den Ordner lege, werden sie vom System (contenido) nicht erkannt. Im Upload-Interface sieht man ja die Bilder, die im Folder liegen - gelistst sind nur die, die standardmäßig aufgeladen wurden (deutsch.jpg, englisch.jpg etc.), nicht aber die, die später einkopiert wurden.
Sven777b
Beiträge: 503
Registriert: Mi 18. Sep 2002, 00:00
Wohnort: Sachsen
Kontaktdaten:

Beitrag von Sven777b »

Interessant: Wenn ich Bilder via FTP oder Shell in den Ordner lege, werden sie vom System (contenido) nicht erkannt. Im Upload-Interface sieht man ja die Bilder, die im Folder liegen - gelistst sind nur die, die standardmäßig aufgeladen wurden (deutsch.jpg, englisch.jpg etc.), nicht aber die, die später einkopiert wurden.
:lol: das liegt einfach nur daran, dass Contenido nicht das Verzeichnis ausliest - sondern die Datenbank. Wenn du eine Datei per Contenido hochlädst, dann wird sie im Table con_upl hinterlegt mit dateiname und beschreibung. Steht die Datei dort nicht drinnen, dann wird sie auch nicht aufgeführt.
Module zum anschauen:
bei Sven: http://contenido-module.de
bei Pulk : http://spielwiese.pulk.net

Der-Dirigent: http://der-dirigent.de
alterego
Beiträge: 9
Registriert: So 29. Sep 2002, 20:16
Kontaktdaten:

Beitrag von alterego »

Stimmt, dann geht's.
Mist, dass das nicht funktioniert. Was könnte ich noch tun? Wo könnte ich suchen? Was bedeutet denn nur "/tmp/phpy00Ppj" ??? Wo soll denn dieses Verzeichnis sein? Kann ich es selber anlegen?
Sven777b
Beiträge: 503
Registriert: Mi 18. Sep 2002, 00:00
Wohnort: Sachsen
Kontaktdaten:

Beitrag von Sven777b »

also nochmal langsam und zum mitschreiben....

"/tmp/phpy00Ppj" ist das Temporäre Verzeichnis in das dein Bild erstmal gespeichert wurde. Dieses Verzeichnis hat php selber angelegt (sollte so der Fall sein - geht nur, wenn das Verzeichnis /tmp/ existiert und auf 777 steht.) Du kannst das auch selber festlegen, wo PHP seine Temporären Daten ablegen soll, indem du die Variable setzt:
upload_tmp_dir = /tmp/phptmp
Achte darauf, dass dieses Verzeichnis definitiv schreibrecht hat. mindestens 666

Das Bild wird vom Webserver aus dorthin kopiert und von php dann in dein Zielverzeichnis verschoben wie es in Contenido definiert ist.

Da aber andere PHP-Upload Scripte funktionieren, kann es eigentlich ausschliesslich an der konfiguration bzw. den Rechten von Contenido liegen.
Module zum anschauen:
bei Sven: http://contenido-module.de
bei Pulk : http://spielwiese.pulk.net

Der-Dirigent: http://der-dirigent.de
alterego
Beiträge: 9
Registriert: So 29. Sep 2002, 20:16
Kontaktdaten:

Beitrag von alterego »

Herzlichen Dank für eure Hilfe, jetzt klappt's endlich. In der php.ini habe ich einen Pfad zum tmp-Verzeichnis gelegt, das ich zuvor eingerichtet hatte, dann in httpd.conf auf das Verzeichnis verweisen lassen, und damit geht's jetzt. Jausa! :) :) :)
HeinzErich
Beiträge: 9
Registriert: So 3. Nov 2002, 19:08
Wohnort: M-V
Kontaktdaten:

Beitrag von HeinzErich »

Hi alterego,
deine Problemlösung ist zwar schon ein bisschen her, aber ich habe ein ähnliches Problem, glaube ich jedenfalls.
Bei mir kommt beim Upload die Fehlermeldung:
Warning: Unable to create 'img/P4060015.jpg': Invalid argument in d:\infoff\contenido42\contenido\inc\upl_upload_form.inc.php on line 29
failed to copy "C:\WINNT\phpD.tmp" nach "img/P4060015.jpg"
Das habe ich weiter oben schon gepostet, hat sich allerdings wohl noch keine Lösung gefunden.
Die php.ini liegt in C:\WINNT, Contenido aber auf der logischen Partition D:\
Ich habe den Eintrag in der php.ini upload_tmp_dir = /tmp/phptmp gesetzt und dieses Verzeichnis auch angelegt. Aber wo wird in der httpd.conf auf dieses Verzeichnis verwiesen? Das kann ich nicht finden.
Vielleicht liegt das Problem auch daran, dass php.ini und das Verzeichnis /img auf verschiedenen (logischen) Laufwerken liegen?
Hat jemand eine Idee? :?:
Fragen stellen ist besser als keine Antworten zu wissen.
Gesperrt