如何确保在上传前选择文件

时间:2011-06-21 19:52:41

标签: codeigniter file-upload

您好我使用codeigniter进行文件上传,我正在使用此代码

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

我将指针存储到数据库中的上传文件中, 我的问题是如何确保用户在点击上传按钮之前选择了一个文件,因为截至目前,即使用户直接点击上传而不选择文件,代码也会提交

4 个答案:

答案 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/

这将允许您选择需要选择的输入值,并自定义消息以通知用户他们缺少哪些字段。