gpt4 book ai didi

mysql - 删除图像和文件路径

转载 作者:行者123 更新时间:2023-11-29 16:25:29 25 4
gpt4 key购买 nike

很长一段时间我一直在尝试从数据库中删除图像以及文件路径。上传图片没有问题。我的 Controller :

 public function deleteFile()  {
if ($this->images_model->delete_file($user_id, $fileName)) {
$status = 'success';
$msg = 'File successfully deleted';
}else{
$status = 'error';
$msg = 'Something went wrong when deleting the file, please try again';
}
echo json_encode(array('status' => $status, 'msg' => $msg));

Images_model 如下:

public function delete_file ($user_id, $fileName)  {        
$this->db->where('user_id', $user_id);
unlink("uploads/".$fileName);
$this->db->delete('images', array('user_id' => $user_id));

}

My Table looks something like this attached IMAGE:

我认为问题可能在于我执行删除的代码。这是我正在尝试执行以下操作的 View 。 ‘main’指向 Controller :

<input type="image" id="delete-profile-img" src="<?= base_url('/assets/images/delete-icon-gray.png') ?>" title="Delete Image" onclick="'$this->main->deleteFile'" >

在指向函数时使用“onclick”是否可以,还是我需要使用更复杂的 java 或 ajax 来跟进?预先感谢您提供的所有意见。

最佳答案

您正在以一种行不通的方式将 JavaScript 事件与 Codeigniter 代码混合并混淆。您需要将标识符传递给要删除的文件。我建议您允许您的 Controller 接收您要删除的文件的参数:

public function deleteFile($fileName)  { // SET THE FILE NAME AS PARAMETER
// Make sure to also set the variable $user_id here in some appropriate way

if ($this->images_model->delete_file($user_id, $fileName)) {
$status = 'success';
$msg = 'File successfully deleted';
}else{
$status = 'error';
$msg = 'Something went wrong when deleting the file, please try again';
}
echo json_encode(array('status' => $status, 'msg' => $msg));
}

删除文件的链接可以是一个简单的链接,文件名作为参数,您可以在页面呈现时指定:

<a href="/deleteFile/<?=$filename?>">Delete</a>

但我从你的代码中猜想,你希望通过 GET 或 POST 请求进行一些 AJAX 处理来处理 JSON 响应。如何设置取决于您使用的 JavaScript 库或其他方法。您需要编写一个 JavaScript 函数来处理该请求。该链接可能类似​​于:

<input type="image" id="delete-profile-img" src="<?= base_url('/assets/images/delete-icon-gray.png') ?>" title="Delete Image" onclick="delete(<?=$fielname?>)" >

如果您使用 Jquery,JavaScript 函数可能看起来像这样:

function delete(filename){
var url = '/deleteFile/'+ filename;
$.get(url, function(obj) {
//console.log(obj);
// DO SOMETHING WITH THE RESPONSE HERE...
})
}

关于mysql - 删除图像和文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54271886/

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