当前位置: 首页 > 知识库问答 >
问题:

PHP curl提交空负载

卫振
2023-03-14

我试图使用PHP curl提交一个有效负载与一些文件。下面是我的submit.php

<?php

$url = "http://example.com/receive.php";

$payload = array();
$payload['resource_name'] = 'hello world';
$payload['resource_file'] = curl_file_create("test-pdf.pdf");

$headr = array();
//$headr[] = 'Content-Type: multipart/form-data';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headr);
curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($payload));

// Receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

curl_close ($ch);
print_r($response);
echo "\n";
<?php
print_r($_REQUEST);
print_r($_FILES);
Array
(
    [resource_name] => hello world
    [resource_file] => Array
        (
            [name] => test-pdf.pdf
            [mime] =>
            [postname] =>
        )

)
Array
(
)

为什么我的$_files数组是空的?

如果启用multipart/form-data行,那么$_request$_files都为空。我做错了什么?如何在receive.php中同时填充$_request和$_files数组?

共有1个答案

乜昆
2023-03-14

删除http_build_query并解决问题。

curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);

原因是http_build_query将为x-www-form-urlencoded生成URL编码的查询字符串

 类似资料:
  • 我有文件及其代码段: 这些代码行用于搜索条件,用于筛选数据。我不能提交空值(如你所知,它也没有设置特定的条件来搜索查询)。帮助我从提交空值。

  • 本文向大家介绍git提交空目录的方法,包括了git提交空目录的方法的使用技巧和注意事项,需要的朋友参考一下 前言 git和 svn不同,仅仅跟踪文件的变动,不跟踪目录。所以,一个空目录,如果里面没有文件,即便 git add 这个目录,另外在别处 check out 的时候,是没有这个空目录的。 只跟踪文件变化,不跟踪目录,这么设计是有原因的。但这会带来一些小麻烦。有时候,确实需要在代码仓库中保留

  • 当我在做表单处理时,我有一个form.html文件和一个process.jsp文件。html将显示表单,action设置为process.jsp。我需要检查用户是否填写了输入字段。 如果用户没有输入任何内容并单击submit按钮,request.getParameter(“name”)的返回值是什么。因为我不知道它是空值还是空字符串,所以我都检查了。而只是想弄清楚它是空字符串还是空字符串。

  • 我热衷于了解微服务的以下几个方面。 > 提交和回滚。如果要通过调用多个微服务来实现业务目标,谁来协调提交和回滚?微服务是否需要在其实现中嵌入提交-回滚协议?或者,它是由某种外部因素提供的? 微服务的负载平衡。一个微服务是由负载均衡器前置来帮助它扩展的吗?因此,扩展是否超出了服务的实现范围? 与AWS Lambda/Bluemix OpenWhisk/Azure函数相关。微服务与“无服务器”架构相比

  • 问题内容: 我有以下表格,提交后结果为空这是我的HTML: 这是我的(一部分): 该工作正常。我得到一个空对象。 问题答案: 您以HTML POST的身份提交,这意味着您正在使用。 这意味着您需要添加,这样express可以解析该请求并将其放入

  • Commit(提交)就是把修改保存到仓库里。 用法 git commit 选项 -a(--all),把所有修改与删除自动添加到暂存区然后提交。不包含未跟踪文件。 -m(--message),设置提交信息。 练习 1,打开 resources.md ,添加一行文字: # 相关资源 保存文件,再去修改一下: git commit -am '设置相关资源文档标题' 这次用了 -a 选项,它会自动把