gpt4 book ai didi

mysql - CakePHP 2.0 文件上传,$data 无效

转载 作者:行者123 更新时间:2023-11-29 01:23:40 27 4
gpt4 key购买 nike

我在一个可以让我上传文件到服务器的网站上工作,我试图让文件重命名为与信息一起插入的相应 mysql id。

有点管用,但每次我上传文件时,它都会重写上次上传的文件。

这是我的代码

   function uploadFile() {
$file = $this->data['Upload']['file'];
$pid = mysql_insert_id();
if ($file['error'] === UPLOAD_ERR_OK) {
if (move_uploaded_file($file['tmp_name'], APP.'webroot/files/uploads'.DS."$pid.mp4")) {
$this->data['Upload']['name'] = $file['name'];
$this->data['Upload']['eventname'] = $file['evetname'];
$this->data['Upload']['description'] = $file['description'];
return true;
}
}
return false;
}

这些是我网站上发生的错误,

注意事项(8):间接修改重载属性UploadsController::$data无效[APP/Controller/uploads_controller.php, line 58]Notice (8): Undefined index: eventname [APP/Controller/uploads_controller.php, line 59]注意事项(8):间接修改重载属性UploadsController::$data没有效果【APP/Controller/uploads_controller.php, line 59】Notice (8): Undefined index: description [APP/Controller/uploads_controller.php, line 60]注意事项(8):间接修改重载属性UploadsController::$data没有效果[APP/Controller/uploads_controller.php, line 60]

我不太明白到底发生了什么?我还应该使用 mysqli_insert_id() 函数而不是 mysql_insert_id() 吗?我真的不知道 mysqli_insert_id() 是如何工作的,请大家帮忙???

最佳答案

您正在尝试操作 $this->data,它在 Cake 2.0 中是只读的。您应该使用 Cake 2.0 中引入的新 CakeRequest 对象。

所以 $this->data 变成:$this->request->data

至于mysql_insert_id(),我不确定您将数据保存到数据库表的什么位置。 Cake 将最后插入的记录的 id 存储在 $this->ModelName->id 中,因此您也可以使用它。

关于mysql - CakePHP 2.0 文件上传,$data 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9515688/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com