move_uploaded_file()

modscho

Grünschnabel
hallo zusammen

ich bin gerade dabei, einen file-upload mit php zu programmieren, jedoch wirft sich ein problem auf!
.. und zwar schaffe ich es nicht mit move_uploaded_file() bzw. mit copy() die hochgeladene Datei in ein anderes Verzeichnis(an einen anderen Ort als das upload.php-Skript) zu verschieben.

zur weiteren Erklärung.
das php-skript befindet sich an dieser Stelle:
f:/webserver/homepages/projectone/code

und ich möchte die hochgeladene dateien an diese Stelle verschieben
f:/webserver/homepages/projectone/code/dateien

... bekomme immer die Meldung,

wie muss der befehl dann aussehen?
move_uploaded_file($_FILES['upload_file'] [['tmp_name'], ?-?-?-?);

thx im Voraus
modscho
 
mit meldung habe ich die Fehlermeldung gemeint, daß das Verzeichnis oder die Datei nicht vorhanden ist.

aber theoretisch ist das verzeichnis ja vorhanden...

--> also der befehl move_uploaded_file () reicht alleine offensichtlich nicht aus, oder?
 
Funktioniert das denn
PHP:
copy($_FILES['upload_file']['tmp_name'], "dateien/" . $_FILES['upload_file']['name']);
anstatt deinem move_uploaded_file() ?
 
... momentan läuft gar nichts! ich habe die php.ini auf safemode gecheckt und der ist off --> also muss der fehler woanders liegen

hier meine php.skript


PHP:
<?php
/*Dieses Skript führt den Upload durch*/

/* 
PUNKT 1: 
Das Formular übersendet die Datei mit der Formularvariable "form_upload"
*/

	$temp_name 	= $_FILES['form_upload']['tmp_name'];
  
	$verzeichnis =  'g:/webserver/homepages/projone/bildergalerie/dateien/'.$_FILES['form_upload']['name']; 
	$dateiname	= $_FILES['form_upload']['name'];
	$dateityp	= $_FILES['form_upload']['type'];
	$dateigröße = $_FILES['form_upload']['size'];

/*
PUNKT 2: 
Sperre für die hochgeladene Datei
Die Datei darf nur den Dateityp JPEG oder GIF haben.
Die Datei darf nicht größer als 50 KB sein.
*/
	if($dateityp != "image/gif" AND $dateityp != "image/pjpeg")
		{
		$fehler[]= "Dieser Dateityp ist ungültig. Es können nur Dateien vom Typ *.gif oder *.jpeg hochgeladen werden";
		}
	
	if ($dateigröße > "50000")
		{
		$fehler[]= "Die hochgeladene Datei ist zu gross. Das Limit beträgt 150KB";
		}

/*
PUNKT 3
Verschiebt die Datei in das gewünschte Verzeichnis

*/
	if(empty($err))
		{
		 copy($temp_name, $verzeichnis); 
		 echo "Die Datei wurde erfolgreich hochgeladen<br>";
	 	}
		else 
		{ 
		 foreach($fehler as $error) 
		 echo "$error<br>"; 
		} 
?>



und das ist die fehlermeldung, die ich bekomme...

Warning: copy(/bildergalerie/dateien/ivb_logo.gif): failed to open stream: No such file or directory in G:\webserver\homepages\projone\bildergalerie\fotoupload.php on line 67
Die Datei wurde erfolgreich hochgeladen

ich weiß wirklich nicht mehr weiter :(

thx im voraus
modscho
 
Mach das:
PHP:
 $verzeichnis =  'g:/webserver/homepages/projone/bildergalerie/dateien/'.$_FILES['form_upload']['name'];

mal zu dem:
PHP:
 $verzeichnis =  "dateien/".$_FILES['form_upload']['name'];

Und das:
PHP:
if($dateityp != "image/gif" AND $dateityp != "image/pjpeg")

zu dem:
PHP:
if($dateityp != "image/gif" OR $dateityp != "image/pjpeg")

mfg mAu
 
vielen, vielen dank mau :-)

zwar ist jetzt das problem - Datei in ein anderes Verzeichnis verschieben - beseitigt, aber schon ist ein neues entstanden!

Das Skript berücksichtigt meine Dateitypbeschränkung (es sollen ja nur jpeg ider gif hochgeladen werden) NICHT mehr...

schönen abend noch
lg modscho
 
An alle die mir beim Erstellen eines simplen Bilder-Uploads geholfen haben :-)


VIELEN, VIELEN, VIELEN DANK!

Gesundheit und ein langes Leben ;-)
modscho
 
Zurück