您好我使用codeigniter进行文件上传,我正在使用此代码
echo form_open_multipart('controller_a');
echo form_upload('userfile');
echo form_submit('Upload','upload');
echo form_close();
我将指针存储到数据库中的上传文件中, 我的问题是如何确保用户在点击上传按钮之前选择了一个文件,因为截至目前,即使用户直接点击上传而不选择文件,代码也会提交
答案 0 :(得分:1)
除客户端验证外,您还应使用服务器端验证。目前,CodeIgniter不提供函数,因此可以使用本机PHP函数is_uploaded_file
:
if (is_uploaded_file($_FILES['myfile']['tmp_name']))
{
$this->load->library('upload');
$this->upload->do_upload('myfile');
}
答案 1 :(得分:0)
你不能,至少不在CodeIgniter中。您需要让JS覆盖表单的onsubmit属性,然后测试用户文件输入的值。
答案 2 :(得分: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甚至以
形式onSubmit="return validate_form ( );"
当用户点击上传按钮而不选择任何文件时,它会提醒用户。
答案 3 :(得分:0)
最好的办法是使用如下的jQuery插件:
http://bassistance.de/jquery-plugins/jquery-plugin-validation/
这将允许您选择需要选择的输入值,并自定义消息以通知用户他们缺少哪些字段。