Seite 1 von 1

Kann $_FILES['userfile']['type'] nicht auslesen!

Verfasst: 10.05.2007 20:30
von Borstenhorst
Hallo Gemeinde,
habe folgendes Problem, ich habe ein kleines UploadScript geschrieben hier mal ein Ausschnitt:

Code: Alles auswählen

...
if ($step == 'upload')
  { 
 	if (isset($_FILES) && isset($_REQUEST[ 'todir' ]) && isset($_REQUEST[ 'destination' ]))
	if (isset($_FILES[ 'userfile' ]) && ($_REQUEST[ 'todir' ] != '') && ($_REQUEST[ 'destination' ] != ''))
	if (isset($_REQUEST[ 'todir' ]))
	if (file_exists($_REQUEST[ 'todir' ]))
	if (is_dir($_REQUEST[ 'todir' ]))
		{
....
		
		$filetype = $_FILES['userfile']['type'];		
		if($filetype == "application/octet-stream" or $filetype == "text/html")
			{}
			else
			{
			switch($filetype)
			{
			
.....
			
			//Kategorie 4
			case 'application/pdf':
			$filekat=4;
			break;
			case 'application/msword':
			$filekat=4;
			break;
			
			default:
			$filekat="5";
			break;
			}
			//Speichern und Upload

			$dateiname = $_FILES['userfile']['name'];
			$dateigroese = $_FILES['userfile']['size'];
			$filetype = $_FILES['userfile']['type'];
			$dateigroese = $dateigroese/1024;
			$dateigroese =round($dateigroese,2); 
		
			
				if($filetype == "image/jpeg" or $filetype == "image/pjpeg")
				{
				createThumb($tempfile,3);
				}
			mysql_query("INSERT INTO `datein` ( `id` , `benutzer` , `name` , `kommentar` ,`size` , `type`, `pfad`, `uploadtime` , `kategorie` )VALUES 
			('', '$_SESSION[authuser]', 'Test', '', '$dateigroese', '$filetype', '$tempfile', '$timenow', '$filekat')");
			move_uploaded_file($_FILES[ 'userfile' ][ 'tmp_name' ], $filename);
			}
		
		}
  }
......
Name und Größe Auslesen geht nur der DateiTyp nicht.
Das ganze ist Teil des XP Publishing Wizards übermittelt der das vll einfach nicht mit ?!?

Bin ratlos :(

Verfasst: 10.05.2007 21:05
von cYbercOsmOnauT
Nicht raten, sondern prüfen ;)

Einfach mal nach dem if ($step == 'upload') { mal ein die(var_dump($_FILES)); reinpacken und schauen, was rauskommt.

Deine immense If-Verschachtelung empfinde ich persönlich jedoch ziemlich abenteuerlich. Wenn Du wirklich alles abfragen musst, wieso verknüpfst Du das nicht alles mit && ?

Zudem sowas

Code: Alles auswählen

if($filetype == "application/octet-stream" or $filetype == "text/html")
         {}
         else
ist bäh bäh. Mach doch einfach

Code: Alles auswählen

if(!($filetype == "application/octet-stream" or $filetype == "text/html"))
         {
Grüße,
Tekin

Verfasst: 10.05.2007 21:08
von Borstenhorst
Habe es geschafft :) wurde in anderer Variable gespeichert.

Code: Alles auswählen

$filetype = $_REQUEST[contenttype];		
@Übermirmitdemlangennamen
Das Problem ist das XP wohl sehr pienzig ist mit dem Script habe das auch schon fertig so runtergeladen und nur modifiziert.
Problem wenn man damit codet ist einfach das man es sich nicht live angucken kann da XP teilweise "unsichtbar" mit dem script kommuniziert also einfach mal irgendwo ein echo reinhaun geht nicht ;)

Verfasst: 10.05.2007 21:42
von cYbercOsmOnauT
die(var_dump leistet gute Dienste die Du Dir im Kopf behalten solltest.