如何将form_validation设置为Codeigniter中的文件所需?

时间:2014-02-03 10:46:58

标签: php html codeigniter file-upload

我正在尝试在codeigniter中为form_validation设置FILES。我写了以下代码。它适用于input fields,但对input files无效。

查看

    <tr><th>Price</th><td>         <input type="text"  name="price"> </td></tr>              
    <tr><th>Color</th><td>         <input type="text"  name="color"> </td></tr>                
    <tr><th>Size</th><td>          <input type="text"  name="size"> </td></tr>                 




    <tr><th>Front Image</th><td>    
                    <input type="file" name="userfile_1">          </td></tr> 


   <tr><th>Right Sleeves Images</th><td>
                    <input type="file" name="userfile_2">          </td></tr> 


    <tr><th>Left Sleeves Images</th><td>
                    <input type="file" name="userfile_3"></td></tr>         


     <tr><th>Back Image</th><td>
                    <input type="file" name="userfile_4">          </td></tr> 

    <tr><th>Submit </th><td><input type="submit"    value="Insert"> </td></tr> 

CONTROLLER

$this->form_validation->set_rules('product_name','Product Name','required');
$this->form_validation->set_rules('price','Price','required');
$this->form_validation->set_rules('color', 'Color','required');

$this->form_validation->set_rules('userfile_1','Image 1','required');
$this->form_validation->set_rules('userfile_2','Image 2','required');
$this->form_validation->set_rules('userfile_3','Image 3','required');
$this->form_validation->set_rules('userfile_4','Image4','required');

我已经加载了所有必需的库和助手。它适用于输入字段,但对于图像显示Image 1 is required,即使在我上传image1之后,其他文件也会发生同样的事情。

请指导我如何解决此问题。

由于 塔哈

1 个答案:

答案 0 :(得分:5)

你可以尝试:

if (empty($_FILES['userfile_1']['name']))
{
$this->form_validation->set_rules('userfile_1','Image 1','required');
}
if (empty($_FILES['userfile_2']['name']))
{
$this->form_validation->set_rules('userfile_2','Image 2','required');
}
if (empty($_FILES['userfile_3']['name']))
{
$this->form_validation->set_rules('userfile_3','Image 3','required');
}
if (empty($_FILES['userfile_4']['name']))
{
$this->form_validation->set_rules('userfile_4','Image4','required');
}