Upload Script - Fehler-Hilfe!

Gangsterneo

Mitglied
Hallo Leute..

mein Uploadscript t nicht. Ich bekomme immer folgende Fehlermeldung:

Warning: move_uploaded_file(BILD.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /www/htdocs/yyyxxx/adminmenu/galadd.php on line 74

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpQ1GTEx' to 'BILD.jpg' in /www/htdocs/yyyxxx/adminmenu/galadd.php on line 74

Das Script:
PHP:
		$tempname = $_FILES['file']['tmp_name']; 
		$name = $_FILES['file']['name']; 

		$type = $_FILES['file']['type']; 
		$size = $_FILES['file']['size'];
		if($type != "image/gif" && $type != "image/jpeg") { 
  		  $err[] = "Nur jpg/gif Datein dürfen hochgeladen werden!"; 
		} 
		if($size > "5000000") { 
   		 $err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 5MB!"; 
		}  
		if ( empty($err) && !is_readable($name) ) {
		move_uploaded_file("$tempname", "$name");  
    		echo "Die Datei $name wurde erfolgreich hochgeladen!"; 
			} 
			else { 
   		 foreach($err as $error) 
  		  echo "$error<br>";

Kann mir bitte jemand sagen was falsch ist?

Der Ordner hat bereits die nötigen Rechte.

mfg
 
Abend!

Es macht allgemein nicht viel sinn, die Datei von /tmp/phpQ1GTEx nach BILD.jpg zu verschieben... Vielleicht meintest Du mit "Der Ordner hat bereits die nötigen Rechte." ja den eigentlichen Zielordner? Ansonsten bliebe nur zu sagen: "Nein, der Ordner hat NICHT die nötigen Rechte." Die muss im übrigen der Server(lighthttpd, Apache, was-weis-ich) haben, weder Du noch der Ordner.

Greetz
Enum
 
Zuletzt bearbeitet:
Ja, Du bist - und bleibst - im selben Ordner:
Unable to move '/tmp/phpQ1GTEx' to 'BILD.jpg'

Das passiert bei einem Kommando wie diesem:
Code:
$ mv /tmp/phpQ1GTEx BILD.jpg

Allerdings bleibst Du nicht in /tmp, sondern in dem Du Dich gerade "aufhälst" - bzw. die Serverapplikation, nicht Du.
Ob die Angabe eines Ordners Deine Probleme löst, weiss ich nicht. Aber in jedem Fall hast Du hinterher dieses eine nicht mehr... :rolleyes:

Greetz
Enum
 
Zuletzt bearbeitet:
Am besten wäre es, wenn du der Variable $name einen absoluten Pfad voran stellst.
Also z. B. so
PHP:
$name = '/www/htdocs/yyyxxx/adminmenu/meine_bilder/' . $_FILES['file']['name'];

Der Ordner meine_bilder muss dann dem selben Benutzer gehören, unter dem auch der Webserver läuft und diesem auch Schreibrechte gewähren.
Oder aber du gibst dem Ordner so viele Rechte, das auch andere Benutzer Dateien in ihn schreiben dürfen.

Falls du mit dem setzen der Rechte noch nicht so viel zu tun hattest, kannst du dir z. B. hier die passenden zusammen klicken.

http://www.meine-erste-homepage.com/chmod-generator.php
 

Neue Beiträge

Zurück