1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

Dateiupload per PHP

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von NightMare, 05.12.06.

  1. NightMare

    NightMare Zuccalmaglios Renette

    Dabei seit:
    09.11.04
    Beiträge:
    263
    Hallo Leute,
    ich versuche mich nun seit gestern Abend mit einem Script für den Dateiupload... Sicherheitsaspekte sind zur Zeit irrelevant, da ich es zuerst einfach mal testen will. Auf meiner Mac-Umgebung funktioniert es tadellos...
    Lade ich das Skript nun jedoch auf meinen Server erhalte ich folgende Fehlermeldung:
    Warning: move_uploaded_file(./folders/Deutsch/Pruefung-Ziele-Wortarten.jpg): failed to open stream: Permission denied in /home/www/web416/html/classsharing/files/upload.site.php on line 19

    Warning: move_uploaded_file(): Unable to move '/home/www/web416/phptmp/phpLqUPu6' to './folders/Deutsch/Pruefung-Ziele-Wortarten.jpg' in /home/www/web416/html/classsharing/files/upload.site.php on line 19


    Dies finde ich höchst "unschön"... :-D Ich habe auch schon die Rechte auf den Zielordner angepasst... chmod 766 und chmod777 ausprobiert... Geholfen hat keines von beidem... :(

    Der Code sieht folgendermassen aus:
    Code:
    if($send) {
    		$max_file_size	= $_POST["max_file_size"];
    		$thefile		= $_FILES['thefile']['name'];
    		$filesize		= $_FILES['thefile']['size'];
    		$folder			= $_POST["folder"];
    		$password		= $_POST["password"];
    		
    		//echo "Dateiupload der Datei: $thefile nach ./folders/$folder/ mit der max. Grösse von $max_file_size";	
    		
    		if($filesize>1000000) {
    			echo "Sorry, der Dateiupload wurde beendet, da das File zu gross ist ($filesize Bytes)!";
    		}
    		else {
    			if($password=="tbm.gbs") {
    				$uploaddir	= "./folders/$folder/$thefile";
    		
    			   if(move_uploaded_file($_FILES["thefile"]["tmp_name"], $uploaddir)) {
    				 echo "$thefile ($filesize Bytes) wurde erfolgreich nach \"$folder\" geladen! <img src='./img/system/button_ok.png' height='32' valign='middle'>";
    			   }
    			   else
    			   {
    				 echo "There was a problem when uploding the new file.";
    				 print_r($_FILES);
    			   }
    			}
    			else {
    				echo "Sorry, der Dateiupload wurde beendet, da ein falsches Upload-Passwort angegeben wurde!";
    			}
    			   
    		}
    		
    	
    	}
    
    Hat jemand Hilfe für das Problem? :innocent:

    Danke & Gruss nightmare
     
  2. .holger

    .holger Geflammter Kardinal

    Dabei seit:
    13.09.04
    Beiträge:
    9.117
    existieren die Unterordner? Haben die auch die nötigen Rechte, oder ist nur der übergeordnete Ordner 766 bzw. 777 ?
     
  3. NightMare

    NightMare Zuccalmaglios Renette

    Dabei seit:
    09.11.04
    Beiträge:
    263
    Überordner, Unterordner... Alle besitzen im Moment diese Rechte... :eek:

    gruss nightmare
     
  4. Hilarious

    Hilarious Gelbe Schleswiger Reinette

    Dabei seit:
    10.08.05
    Beiträge:
    1.759
    und /home/www/web416/phptmp/ ?
     
  5. Terminal

    Terminal Gast

    Ich denke, dass es eben nicht "Dein Server" ist, sondern der eines beliebigen Provider.

    Und du darfst dich leider mit deinen PHP-Anweisungen nicht über die php.ini des Servers hinwegsetzen. Du musst dir also die .ini zunächst mal anschauen und versuchen mögliche Mankos mit .htaccess auszugleichen. (möglicherweise safe_mod on/off oder anderes)

    Wenn du das nicht auf die Weise erreichst, musst du dein Script auf Variablen und Anweisungen ändern die unbedenklich sind.

    Als drittes kann man auch den Provider selbst ansprechen. Der tut sich aber mit solchen Anfragen (die eine Änderung der php.ini betreffen) eher schwerfällig.

    dann kannst du noch ein vorgefertigtes PHP-Upload-Script verwenden. Dazu gibt es hunderte auf zig PHP-Seiten.
     
  6. Hilarious

    Hilarious Gelbe Schleswiger Reinette

    Dabei seit:
    10.08.05
    Beiträge:
    1.759
    Wenn es safe_mode- oder open_basedir-Probleme wären, sähe die Fehlermeldung ein wenig anders aus, oder irre ich mich?
     

Diese Seite empfehlen