Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 18-01-2009, 10:52
ch0
 Newbie
Links : Onlinestatus : ch0 ist offline
Registriert seit: Jan 2009
Beiträge: 1
ch0 ist zur Zeit noch ein unbeschriebenes Blatt
Standard move_uploaded_file ohne Schreibrechte im Zielverzeichnis

Nach einer Veränderung auf dem Webserver des Providers erhalte ich folgende Fehlermeldung bei einem bislang funktionierenden upload-Skript:

Warning: move_uploaded_file(uploadfiles/Folgeseiten_Masse.pdf) [function.move-uploaded-file]: failed to open stream: Permission denied in...

Skript:
if(isset($userfile_name))
{
move_uploaded_file($userfile_name,"uploadfiles/".$serverfile_name);
chmod ("uploadfiles/".$serverfile_name, 0766);
echo "Datei ist erfolgreich geladen";
}

$userfile_name und $serverfile_name kommen aus einem Formular.

System laut phpinfo():
Windows NT DICV-WEB01 5.2 build 3790
Microsoft-IIS/6.0

Laut Provider gab es eine Umstellung von Windows2000-Server auf Windows2003-Server. Windows2003 würde restriktiver mit den Datei- und Verzeichnis-Rechten umgehen. Das Zielverzeichnis "uploadfiles" hat für den Admin Vollzugriff per FTP-Client, der anonyme Benutzer habe nur Leserechte, keine Schreibrechte auf dem Ordner. Können auch nicht gesetzt werden. chmod sei nicht möglich auf Win.

In den Foren und Skripten wird aber scheinbar auch beim II6 move_uploaded_file verwendet. Demnach chmod wohl auch.

Meine Fragen:

Stimmt das wirklich mit keine Schreibrechte unter Windows2003Server/IIS6 möglich oder will der Provider nicht ?

Kann ich ohne Schreibrechte auf ein Zielverzeichnis trotzdem irgendwie mit move_uploaded_file arbeiten ? chmod ?

Wie kann ich ohne move_uploaded_file Dateien über ein Formular hochladen ?
(Versuche, mit einem ftp-upload (durch ftp_put($conn_id, $destination_file, $source_file, FTP_BINARY)) zu arbeiten, weil da wohl keine Schreibrechte im Zielverzeichnis nötig seien, scheitern bei mir daran, dass ich die Datei für die Variable $source_file aus dem TMP-Verzeichnis des Webservers wieder nicht ohne move_uploaded_file herausbekomme. Liegt natürlich ausserhalb der httpdocs, also für mich durch Pfadangabe nicht ansprechbar.)

Komme jetzt nicht mehr weiter.

vielen Dank für hinweise oder links.


Geändert von ch0 (18-01-2009 um 11:30 Uhr)
Mit Zitat antworten