Kein Upload über HTML Formular möglich

  • Hallo,


    ich habe eine meiner Webseiten zu Netcup geholt. Auf dieser Seite kann der Benutzer mithilfe eines Formulars Bilder hochladen. Seit dem Umzug funktioniert dieser Prozess nicht mehr.

    Wenn ich die $_FILES auswerte steht zwar ein temporärer Dateiname drin, die Datei ist aber nicht im tmp-Verzeichnis. Ich habe herausgefunden, dass kein upload_tmp_dir gesetzt wird, dadurch wird /tmp benutzt. Der Benutzer, unter dem der Webserver läuft, hat nicht genügend Rechte auf diesen Ordner. Anpassen kann ich das nicht, weil der tmp-Ordner Root gehört.

    Wie kann ich mir denn jetzt einen eigenen tmp-Ordner für meine Seite einrichten und wie muss ich darauf in meinem php-Script verweisen.

    Das Problem klingt für viele vielleicht albern, aber bei meinem letzten Hoster hatte ich dieses Problem nicht. Wenn ich derartige Sachen in der Firma mache bin ich root, und kann die entsprechenden Einstellungen in der php.ini vornehmen.

    Ich habe bei netcup das Webhosting 2000 Paket.


    Im voraus schon mal vielen Dank.


    Teasy

  • Ich hoffe, du konntest das Problem mittlerweile lösen. Ansonsten:


    Das tmp Verzeichnis ist kein "spezielles" Verzeichnis, sondern ein ganz normaler Ordner. Du kannst ihn also einfach anlegen. Dann musst du den Anwendungen nurnoch sagen, dass sie diesen Ordner für temporäre Dateien verwenden sollen.


    Mit den Webhostingpaketen kenne ich mich nicht aus. Wenn du Zugriff auf die php.ini hast, kannst du folgendes eintragen:

    upload_tmp_dir = pfad/zu/deinem/tmp/verzeichnis
    session.save_path = pfad/zu/deinem/tmp/verzeichnis

    (was sagt denn ein phpinfo(), auf was die Variablen gesetzt sind?)


    Falls das nicht geht, solltest du dich direkt an den Support wenden, dann ist das ein Fehler von Netcup.

  • Problem gelöst.


    Habe den Fehler mithilfe eines Teilnehmers des php.de Forums lösen können.

    Ich habe mich völlig in den Dateipfaden bei Netcup verstrickt.

    Der Pfad zu meinem Webauftritt musste korrekt /var/www/vhosts/hostingxxxxxx.af988.netcup.net/DocumentRoot lauten.

    Ich hatte versehentlich erst beim DocumentRoot angefangen.

  • Teasyman73 Falls Du irgendwas über SSH ausführst, wäre das auch der korrekte Pfad. Durch die Chroot-Umgebung ist er dort nämlich wie von Dir erwähnt "kürzer" und startet mit /DocumentRoot.


    (Falls ich hier Blödsinn rede und das beim neuesten Webhosting nicht mehr der Fall ist, korrigiert mich bitte!)



    MfG Christian