Jan: Problem bei Upload-Script auf Windows-Host

Hallo Leute!

Ich installier für einen Kunden von mir mein CMS auf dessen Windows-Webspace.
Ich hatte beim integrierten Bilder-Upload zuerst das Problem, dass weder der Ordner-Inhalt, noch ein Upload funktionierte.
In der Web-Administration des Providers konnte ich dann die Permissions des Ordners auf read/write setzen, und seitdem funktioniert das.

Jedoch: Wenn ich nun ein hochgeladenes Bild anzeigen lassen will, fragt er mich nach Username und Passwort. Muss ich der Datei während dem hochladen bestimmte Rechte mitschicken? Wenn ja, wie?

Das Script schaut bisher so aus:

$tempname = $_FILES['file']['tmp_name'];
$name = $_FILES['file']['name'];
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];

if($size > "100000") {
$err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 100 KB!";
}

If(empty($err)) {
$pid = $_GET["pid"];
copy("$tempname", "D:/webppliance/conf/domains/********/Inetpub/wwwroot/images/$name");

echo $type."\n";
echo "Die Datei $name wurde erfolgreich hochgeladen!";
}

Unter Linux-Servern hat es immer normal funktioniert.

lg, Jan

  1. Hallo,

    vermutlich handelt es sich um den Standard-Einrichtungsfehler für die Windows-Version.

    Bitte überprüfe, welches Upload_temp_dir in der php.ini des Systems angegeben ist und ob dieses auf dem Windows-Server überhaupt existiert. Außerdem muss der User des Webservers (oder der Dienst) auf dieses Verzeichnis die passenden Rechte haben. Die Meldung deutet darauf hin, dass hier ein Fehler vorliegt.

    LG
    Chris

    1. Hallo Chris,

      Hallo,

      vermutlich handelt es sich um den Standard-Einrichtungsfehler für die Windows-Version.

      Bitte überprüfe, welches Upload_temp_dir in der php.ini des Systems angegeben ist und ob dieses auf dem Windows-Server überhaupt existiert. Außerdem muss der User des Webservers (oder der Dienst) auf dieses Verzeichnis die passenden Rechte haben. Die Meldung deutet darauf hin, dass hier ein Fehler vorliegt.

      Ich hab auf das Upload-Verzeichnis extra die Permissions für Read und Write freigegeben. Die Datei selbst kommt auch im richtigen Ordner an, nimmt jedoch nicht die Rechte des Ordners an.

      Der Ordner selbst sollte also in Ordnung sein. Leider hab ich auf den Server keine Root-Rechte sondern kann mich nur einem Web-Interface bedienen.

      Kann ich per PHP nicht auch irgendwie Rechte vergeben? D.h. der Datei nach dem Upload im Nachhinein die entsprechenden Rechte zuteilen?

      lg, Jan

      1. Hallo Jan,

        Kann ich per PHP nicht auch irgendwie Rechte vergeben? D.h. der Datei nach dem Upload im Nachhinein die entsprechenden Rechte zuteilen?

        Blindflug ist nicht so schön. Du solltest also bitte erstmal die entsprechenden Konfigurationseinstellungen mitteilen:

        Welcher Webserver läuft?
        Läuft der als Dienst?
        Wird PHP als Modul oder als CGI benutzt?

        Welches Upload_Temp_Dir ist gesetzt?
        Existiert das Verzeichnis?

        Welcher Owner wird für die Datei angezeigt?

        Wird der Safe-Mode benutzt?
        Ist open_basedir gesetzt?
        Gibt es dann auch für das Temp-Dir einen Eintrag?

        LG
        Chris