我需要帮助。我在cakephp中构建了一个web应用程序。在localhost eveything工作得很好。图像上传,插入,删除正确。我上传它在服务器上的那一刻它显示错误!
注意事项(8):未定义索引:滑块[APP / Model / Slider.php,第245行]
注意事项(8):未定义索引:滑块[APP / Model / Slider.php,第247行]
警告(2):取消关联(/ home8 / ceraunia / public_html / afs / cesi / admin / app / webroot / img / uploads / slider / images /)[function.unlink]:是目录[APP / Model / Slider.php,第248行]
我不知道该怎么做,或者问题出在哪里。正如我在localhost中提到的,一切都很完美。我使用的主机服务器是blueHost。
任何帮助都会非常适合......
修改
Thi是导致问题的代码:
public function afterSave($created, $options = array()) {
$dir = 'img' . DS . 'uploads' . DS . 'slider' . DS . 'images' . DS; /*<=== DO NOT EDIT*/
// then after deletation of the row we check if the file exist, if so we delete it.
if(isset($this->data[$this->alias]['pic_path']) && file_exists(WWW_ROOT . $dir . $this->image['Slider']['pic_path'])){
$img = WWW_ROOT . $dir . $this->image['Slider']['pic_path'];
unlink($img);
return true;
} else { $this->data[$this->alias]['pic_path'] = $this->image['Slider']['pic_path']; }
return true;
}
答案 0 :(得分:1)
如何简单阅读邮件?
/ home8 / ceraunia /的public_html / AFS / CESI /管理/应用程序/根目录/ IMG /上传/滑块/图像/) [function.unlink]:是目录
您正尝试删除unlink()的目录。我想,自you're not showing the stacktrace以来,其他两个通知来自丢失的文件名。
调试的基础知识:转到通知告诉您的行并调试那里的变量,并查看索引未定义的原因。您可以通过遵循stacktrace已经告诉您的代码路径来解决这个问题。
还有一个猜测:你正在使用Windows,而服务器是* nix框,而你没有使用DS常量来存储目录分隔符?