2016-07-06 88 views
0

這是我的第一個問題在這裏。我是PHP的新手,但我一直在爲這個問題尋找答案約一個小時,並且沒有運氣。也許我只是沒有正確閱讀,但我希望你們能幫助我。 我想讓人們只上傳一種文件類型到我的網站。該文件類型是.osk。我不知道如果我正確地這樣做,但我有它設置這樣PHP只接受一種擴展類型上傳。該文件是一個未知的擴展類型

$types = array ('application/osk'); 

$target_path = $target_path . basename($_FILES['uploadedfile']['name']); 

$target_path = "skins/"; 

$target_path = $target_path . basename($_FILES['uploadedfile']['name']); 


if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path, $types)) { 
    echo "The file ". basename($_FILES['uploadedfile']['name']). 
    " has been uploaded"; 
} else{ 
    echo "There was an error uploading the file, please try again!"; 
} 
?> 

每當我提交特定文件類型我得到一個錯誤。如果我提交任何其他內容,但我也會收到錯誤,但這是預期的。 對不起,如果代碼是一團糟。正如我之前所說,我對此很陌生。但是,如果有人能幫我弄清楚這一點,我會喜歡它。

回答

0

試試這個代碼

$file_parts = pathinfo($_FILES['uploadedfile']['name']); 
// Check file is osk 
if($file_parts['extension'] == 'osk') 
{ 
    // move file 
    if(move_uploaded_file($_FILES['image']['tmp_name'], $target_path)) 
    { 
    echo "Uploaded"; 
    } 
    else 
    { 
    echo "File was not uploaded"; 
    } 
} 
+0

你幫了我很多。雖然我沒有完全使用所有的代碼,只知道我可以檢查文件擴展名。 我合併了if語句和繁榮。這是神奇的。感謝您的幫助。 – Emanuel