2011-06-21 40 views
1

嗨,我使用CodeIgniter的文件上傳和我使用這個代碼如何確保文件上傳

echo form_open_multipart('controller_a'); 
echo form_upload('userfile'); 
echo form_submit('Upload','upload'); 
echo form_close(); 

我指針存儲在數據庫中的上傳文件之前選擇, 我的問題是我如何確保用戶在點擊上傳按鈕之前選擇了一個文件,因爲截至目前代碼提交即使用戶直接點擊上傳而沒有選擇文件

回答

0

您不能,至少不能在CodeIgniter中。您需要讓JS覆蓋表單的onsubmit屬性,然後測試用戶文件輸入的值。

0

使用JS

非常基本的代碼,但它的工作原理。

<script type="text/javascript"> 

<!-- 

function validate_form () 
{ 
    valid = true; 

     if (document.upload_form.something.value == "") 
     { 
       alert ("Please select a file before clicking upload ! "); 
       valid = false; 
     } 

     return valid; 
} 

//--> 

</script> 

,甚至在形式

onSubmit="return validate_form ();" 

的onsubmit使用時上載用戶點擊按鈕而不選擇任何文件,它會提醒用戶。

1

隨着客戶端驗證,您也應該使用服務器端驗證。目前,CodeIgniter沒有提供函數,所以可以使用原生PHP函數is_uploaded_file

if (is_uploaded_file($_FILES['myfile']['tmp_name'])) 
{ 
    $this->load->library('upload'); 

    $this->upload->do_upload('myfile'); 
} 
相關問題