Upload Script: Ordner erstellen

Die Umstellung auf \ hat nichts gebracht, ausser ich habs falsch gemacht.

PHP:
$pfad = (".\\Masslisten\\".$holzart."\\".$klasse."\\".$trocken."\\".$starke."\\");
$pfad1 = (".\\Masslisten\\".$holzart."\\".$klasse."\\".$trocken."\\".$starke."\\".$partie.".pdf");

if (isset($_FILES['massliste']) and ! $_FILES['massliste']['error']) {
	if(!is_dir($pfad)){
	mkdir($pfad,0, 0777);
	}
    // Alternativ:            and   $_FILES['probe']['size']
   move_uploaded_file($_FILES['massliste']['tmp_name'], $pfad1);
}
 
Hi,

an den Slashes liegt das nicht. PHP passt die an das Betriebssystem an. Folgenden Kommentar habe ich hier gefunden.

A note for PHP on Windows IIS platform:
PHP does obviously not like directory traversing among partitions, so if you set upload_tmp_dir to be on different partition as php-cgi.exe or php.exe is, upload_tmp_dir will NOT be accessible for file uploads! You will get ERROR 6 on any attempt to upload file, and file size will be 0.
Resolution is to have upload_tmp_dir set to a path under PHP install folder.
...and make sure this folder (and also session_save_path folder) has at least read/write permissions granted to AppPool owner (usually NETWORK SERVICE) and IIS web user (by default IUSR_).
 
Nach dem Kommentar auf derselben Partition. Wenn du PHP also auf D: installiert hast, sollte dein upload_tmp_dir auch auf D: sein usw. (Das PHP Verzeichnis erfüllt diese Bedingung natürlich hervorragend.. ;). Inwiefern da was Wahres dran ist kann ich allerdings nicht sagen.
 
Ich hab den upload_tmp_dir in C:\temp\uploads geparkt und funktioniert wie gesagt nicht.

PHP ist auch auf C: installiert.

Ich werd mal schaun obs mit dem PHP verzeichnis anders ist.

//Edit: Nein keine Änderung.

Fehlerausgabe mit

PHP:
 error_reporting(E_ALL);
ini_set("display_errors", 1);
bringt auch keine Änderung.
 
Zuletzt bearbeitet:
IIS ist bekannt dafür das er (zumindest noch vor einiger Zeit) verschiedene globale PHP Variablen nicht kennt.

Prüfe mal per echo oder so wie weit du in die einzelnen IF-Blöcke kommst und was aus $_FILES wird.
 
Da war ich dir voraus:P

Ich bin draufgekommen das, obwohl ich den Ordner auf c:\program files\php\tmp\uploads eingestellt habe, er die Datei in c:\windows\temp speichert.

$_FILES bleibt gefüllt bis zum move_uploaded_file. Da ist es plötzlich leer.

//EDIT

Ich hab den Fehler gefunden: Der Server schreibt, obwohl ich in der PHP.ini einen anderen Ordner angegeben habe, nach c:\Windows\Temp. Da er da keine Rechte hat, kann er die Datei nicht kopieren.

Ich muss also herausfinden, warum PHP nach C:\Windows\Temp speichert und nicht in meinen angegebenen Ordner.

Hat da wer ne Idee?
 
Zuletzt bearbeitet:
Zurück