webForumDet fria alternativet

Filtyp i upload

PHP

3 svar · 220 visningar · startad av nkrantz

Medlem sedan apr. 2002830 inlägg
Frågan#1

Hej,

Enl. artikeln på http://www.faqts.com/knowledge_base/view.phtml/aid/988/fid/62 sägs det att det är dumt att använda sig av $_FILES['file']['type'] för att bestämma vilken filtyp man försöker ladda upp. För de som inte orkar läsa så säger den att IE för MacOS inte skickar med någon information, varför $_FILES['file']['type'] blir tom.

Finns det något annat sätt att bestämma vilken filtyp som har laddats upp? TMP-filen som skapats borde (tycker jag...) bara vara en kopia av den lokala filen och därför innehålla korrekt information, eller? Borde det inte gå att kolla filetype på tmp-filen?

Eller har ni några andra briljanta lösningar?

// Nippe

Medlem sedan dec. 2002258 inlägg
#2

Jag brukar kolla genom att checka filens extension.

<?
$file_name = $_FILES['file']['name'];
$fParts = explode(".", $file_name);
$extension = $fParts[sizeOf($fParts)-1];
echo("The file extension is: ". $extension);
?>
Medlem sedan apr. 2002830 inlägg
#3

Jo, fast det ger ju ingen säkerhet what so ever, du kan ju lätt ändra en .exe fil till .jpg och ladda upp den! Dessutom, de som kör Mac vet knappt vad en extension är, varför mitt problem inte löses med det. Tyvärr :( Tack ändå!

// Nippe

Medlem sedan dec. 2002258 inlägg
#4

Sant. Är du säker på att IE för Mac inte skickar med MIMES? Låter ju lite misstänkt ändå...

254 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)