我几乎完全按照CI文档中的说法,做了一些小改动以满足我的需求,但总体来说没有什么重要意义。我尝试上传的文件夹存在,并且777
已设置为其权限。
控制器:
if($this->input->post('uploads'))
{
$config['upload_path'] = realpath(APPPATH.'../images');
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = 0;
$config['max_width'] = 0;
$config['max_height'] = 0;
$config['remove_spaces'] = true;
$this->load->library('upload', $config);
if (!$this->upload->do_upload())
{
$data['errors'] = $this->upload->display_errors();
}
else
{
$data['upload_data'] = $this->upload->data();
}
}
观点:
<?php
if(isset($errors))
{
$this->genfunc->debugArray($errors);
}
if(isset($upload_data))
{
$this->genfunc->debugArray($upload_data, 'php');
}
?>
<div id="gallery">
<?php if (isset($images) && count($images)):
foreach($images as $image): ?>
<div class="thumb">
<a href="<?php echo $image['url']; ?>">
<img src="<?php echo $image['thumb_url']; ?>" />
</a>
</div>
<?php endforeach; else: ?>
<div id="blank_gallery">Please Upload an Image</div>
<?php endif; ?>
</div>
<div id="upload">
<?php
echo form_open_multipart('upload');
echo form_upload('userfile');
echo form_submit('uploads', 'Upload');
echo form_close();
?>
</div>
视图也被加载,当前所有内容都被发送回同一页面,这是预期的。但是,从Docs中的CI示例中取出并回顾了所有内容,我认为没有理由不这样做。希望有人可以对此有所了解,也许我错过了什么?
答案 0 :(得分:0)
显然在所有这些futzin周围。我改变了
$ this-&gt; load-&gt; library('upload',$ config);
到
$这 - &GT;负载&GT;库( '上传'); $这 - &GT; upload-&GT;初始化($ upload_config);
当我在场时,我将$config
更改为$upload_config
并解决了问题。在第二个参数传递时,不确定是使用$config
还是在加载机制中存在缺陷的冲突。无论哪种方式。上传工作现在。
答案 1 :(得分:0)
确保在配置文件中启用调试标志。面临同样的问题,并解决了它。也是在出现错误时应创建错误日志的目录。
答案 2 :(得分:-1)
最初会尝试: