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
(
)