Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 尝试使用cURL删除图像,但响应为NULL_Php_Session_Curl_Opencart - Fatal编程技术网

Php 尝试使用cURL删除图像,但响应为NULL

Php 尝试使用cURL删除图像,但响应为NULL,php,session,curl,opencart,Php,Session,Curl,Opencart,我已经做了一个自定义状态和测试,如果它是2,并在此基础上,我试图删除一个产品的主要形象。起初,我不知道如果使用会话,cURL需要特殊处理,我被重定向到管理员登录屏幕。此修改应该进入文件admin/controller/catalog/product(当然使用VQMod)。只是现在我得到了NULL的响应 if((int) $this->request->post['status'] == 2) { if(isset($this->request->post['ima

我已经做了一个自定义状态和测试,如果它是2,并在此基础上,我试图删除一个产品的主要形象。起初,我不知道如果使用会话,cURL需要特殊处理,我被重定向到管理员登录屏幕。此修改应该进入文件
admin/controller/catalog/product
(当然使用VQMod)。只是现在我得到了
NULL
的响应

if((int) $this->request->post['status'] == 2) {
    if(isset($this->request->post['image'])) {
        $params = array(
            'path' => $this->request->post['image']
        );
        $defaults = array(
            CURLOPT_URL => $this->url->link('common/filemanager/delete', 'token=' . $this->session->data['token'], 'SSL'),
            CURLOPT_POST => true,
            CURLOPT_POSTFIELDS => $params,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_COOKIESESSION => true,
            CURLOPT_COOKIEJAR => 'cookie-jar',
            CURLOPT_COOKIEFILE => '/home/u32807/tmp'
        );
        $ch = curl_init();
        curl_setopt_array($ch, $defaults);
        $ouput = curl_exec($ch);
        if($output === false) {
            echo 'Curl error: ' . curl_error($ch);
            die();
        }
        else {
            var_dump($output);
            die();
        }
    }
}

我试着注释掉
CURLOPT_POSTFIELDS
,也试着给它一个空数组,但仍然
NULL
。因此,我设置连接的方式一定有问题,但我不知道从哪里开始调试它。Hewp pweeze!:/OpenCart版本是1.5.6.4。

您需要为curl再添加一份,即

CURLOPT_CUSTOMREQUEST=>“删除”

检查我的删除功能:

公共函数curl\u delete\u函数($mypath,$json='')

{


}

一个实际的文本空值('null',4个字符)或php空值?
var_dump($output)
部分生成
null
,而不是
string(4)“null”
,然后该url返回一个空的响应正文。
$url =$this->__url.$mypath;

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$url);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");

curl_setopt($ch, CURLOPT_POSTFIELDS, $json);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec($ch);

$result = json_decode($result);

curl_close($ch);


return $result;