gpt4 book ai didi

PHP 从 DELETE 请求中获取数据

转载 作者:可可西里 更新时间:2023-11-01 13:43:28 24 4
gpt4 key购买 nike

我正在使用 jquery 插件进行多文件上传。一切正常,除了删除图像。 Firebug 说 JS 正在向函数发送 DELETE 请求。如何从删除请求中获取数据?

PHP删除代码:

public function deleteImage() {
//Get the name in the url
$file = $this->uri->segment(3);
$r = $this->session->userdata('id_user');
$q=$this->caffe_model->caffe_get_one_user($r);
$cff_name= $q->name;
$cff_id = $q->id_caffe;

$w = $this->gallery_model->gallery_get_one_user($gll_id);
$gll_name = $w->name;
$success = unlink("./public/img/caffe/$cff_name/$gll_name/" . $file);
$success_th = unlink("./public/img/caffe/$cff_name/$gll_name/thumbnails/" . $file);

//info to see if it is doing what it is supposed to
$info = new stdClass();
$info->sucess = $success;
$info->path = $this->getPath_url_img_upload_folder() . $file;
$info->file = is_file($this->getPath_img_upload_folder() . $file);
if (IS_AJAX) {//I don't think it matters if this is set but good for error checking in the console/firebug
echo json_encode(array($info));
} else { //here you will need to decide what you want to show for a successful delete
var_dump($file);
}
}

并且 JS 使用 jQuery-File-Upload 插件:link

最佳答案

一般情况下,如果DELETE请求在请求体中发送数据,可以使用如下代码读取数据:

$data = file_get_contents("php://input");

根据数据的编码(通常是 JSON 或表单编码),您可以使用 json_decodeparse_str 将数据读入可用变量。

有关简单示例,请参阅 this article ,其中作者使用表单编码数据来处理 PUT 请求。 DELETE 的工作方式类似。


然而,在您的情况下,文件名似乎是从请求 URL 中读取的(对 $this->uri->segment(3); 的调用)。当我查看你的代码时,似乎变量 $gll_id 没有初始化,你也没有检查结果对象 $w 和变量 $ gll_name 为空。也许这是导致删除失败的原因。使用 ini_set("log_errors",1); 打开错误日志记录并查看您的服务器错误日志。如果取消链接失败,错误日志应包含 PHP 尝试取消链接的路径 - 路径很可能不正确。

关于PHP 从 DELETE 请求中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9770185/

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