情况:获得了一个类似系统的新闻源,您可以在每个帖子中添加图像。这些帖子也可以更新。当有更新时,除非图像发生变化,否则数据库中的图像值应保持不变。
目前在我的控制器中使用它:
$this->load->library('upload'); //initialize
if (isset($_FILES['userfile']) && is_uploaded_file($_FILES['userfile']['tmp_name'])) {
$this->upload->initialize($config);
$this->upload->do_upload('userfile');
$imageData = $this->upload->data();
$data['front_image'] = $imageData['file_name'];
}
但是你可以猜到这并没有成功。 有什么建议吗?
答案 0 :(得分:0)
$this->load->library('upload'); //initialize
if ($_FILES['userfile'][size] !=0 && is_uploaded_file($_FILES['userfile']['tmp_name'])) {
$this->upload->initialize($config);
$this->upload->do_upload('userfile');
$imageData = $this->upload->data();
$data['front_image'] = $imageData['file_name'];
}
检查文件大小解决了问题。
答案 1 :(得分:0)
您可能正在做更多需要的工作。我暂时没有使用过CI,但我很确定你可以查看$this->upload->do_upload()
的结果。我相信Upload类会检查文件是否存在并返回falsey(< - not a word)值。
$this->load->library('upload', $config);
// or $this->upload->initialize($config);// if you're autoloading
if ($this->upload->do_upload()) {
$imageData = $this->upload->data();
$data['front_image'] = $imageData['file_name'];
} else {
echo $this->upload->display_errors();
}
另外,如果你在一个框架(CodeIgniter,Laravel等),你真的不应该检查全局PHP变量。大多数东西都是为你包裹的。