Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
can';t使用Codeigniter上传文件_Codeigniter - Fatal编程技术网

can';t使用Codeigniter上传文件

can';t使用Codeigniter上传文件,codeigniter,Codeigniter,我有一个工作完美的表单,但它没有将文件传递给控制器 <?php $this->load->helper('form'); //open form $attributes = array('class' => 'contact_form'); echo form_open_multipart('admin/add_record', $attributes); echo form_hidden('current

我有一个工作完美的表单,但它没有将文件传递给控制器

<?php
    $this->load->helper('form');

    //open form
        $attributes = array('class' => 'contact_form');
        echo form_open_multipart('admin/add_record', $attributes);
        echo form_hidden('current_area', $current_area);

        echo form_fieldset('Dati da inserire', array('class' => 'form_fieldset'));
            echo "<p>";
            echo form_label('Titolo:', 'title', array('class' => 'form_label'));
                echo form_input('title', '', "class='form_textfield'");
            echo "</p>";
        echo form_fieldset_close();

        echo form_fieldset('Immagine', array('class' => 'form_fieldset'));
            echo '<p>';
                echo form_label('Immagine:', 'image', array('class' => 'form_label'));
                    echo form_upload('image', '', "class='form_filefield'");
            echo '</p>';
        echo form_fieldset_close(); 

        echo form_fieldset('Testo', array('class' => 'form_fieldset'));
            echo form_label('', 'description', array('class' => 'form_label'));
                echo form_textarea('description', '', array('class' => 'form_textarea', 'cols'  => 45, 'rows'  => 10));
        echo form_fieldset_close();

            //display submit button
            echo "<p>";
                echo form_submit(array('class' => 'form_submit', 'name' => 'submit'), "Inserisci!");
            echo "</p>";

        echo form_close();

?>

它可以工作,“image”变量会像其他变量一样被转储

有什么想法吗

谢谢, 帕特里克

编辑:

这似乎是一个bug,因为我简化了表单和控制器,但它仍然不起作用:

视图:

新编辑 我已经设法让它工作了。需要两件事: a) 将目标目录的权限设置为777
b) 以UNIX格式键入目标目录(我在本地计算机上,所以是/users/patrick/sites/…../uploads,而不是localhost/site/img/uploads。我仍然不确定为什么会这样,我需要记住在将站点上载到webhost时更改此目录。

我认为您应该改用它(如果您使用的是PHP<4.1.0版本,则可以使用
$HTTP_POST_FILES


如果仍然不起作用,请检查php.ini中的
MAX\u FILE\u SIZE
设置,并确保它没有设置得太低。

是否检查$\u POST['userfile']?虽然这是真的,但别忘了CI内置了一个可以让你的生活更轻松的工具!@Ross:true。我是在回答@Patrick的具体问题,不一定建议他直接使用
$\u文件
:)
echo form_upload('image', '', "class='form_filefield'");
echo form_input('image', '', "class='form_filefield'");
<?php $this->load->helper('form', 'url'); ?>

<?php echo form_open_multipart('admin/add_record2');

echo form_upload('userfile', 'userfile');
?>



<br /><br />

<input type="submit" value="upload" />

</form>
function add_record2()
{
    //prints content of entire POST variable
echo '<pre>'; print_r($_POST);echo '</pre>';
}
Array
(
)