2016-04-12 84 views
0

我正在使用以下php代碼上傳csv文件。我想使用一個很好的驗證,而不僅僅是通過MIME類型或文件擴展名。我怎樣才能做到這一點?PHP中的文件上傳驗證

if (isset($_POST['submit'])) { 
    $isfileok = false; 
    if (is_uploaded_file($_FILES['filename']['tmp_name'])) { 
     echo "<h1>" . "File ". $_FILES['filename']['name'] ." uploaded successfully." . "</h1>"; 
    $isfileok = true; 
    } 
    if($isfileok){ 
     //do something 
    } 
} 
+2

對您有什麼好的驗證? – Joni

+0

@Joni不容易繞過的驗證。例如,如果攔截請求,則可以更改MIME類型。此外,文件擴展名可以從惡意文件擴展名更改爲csv。 – Ayman

+1

那麼什麼是「有效」?你想確保只有CSV文件可以上傳,而不是PDF文件,例如jpgs或excel表格?你想掃描上傳的文件的病毒,什麼? – Joni

回答