php - 无法使用 curl :Filename cannot be blank 上传文件

标签 php file post curl

我用的是官方this上传文件的脚本。但响应返回 错误:- 文件名不能为空

我只更改了脚本中的参数,没有像他们说的那样更改任何其他内容。比如

$networkid = "RA";
$apikey = "XXXX"; 
$offerid = "2207";
$creativetype = "file";
$filename = "JetSmartShopping.zip";

来自脚本的响应

Array (
    [request] => Array ( 
        [Target] => OfferFile [Format] => json 
        [Service] => HasOffers 
        [Version] => 3 
        [Method] => create 
        [NetworkToken] => XXXX
        [NetworkId] => RA
        [data] => Array ( 
            [offer_id] => 2207 
            [type] => file 
            [display] => JetSmartShopping.zip 
        ) 
        [return_object] => 1 
        [JetSmartShopping_zip] => @JetSmartShopping.zip 
    ) 
    [response] => Array ( 
        [status] => -1 
        [httpStatus] => 200 
        [data] => 
        [errors] => Array ( 
            [0] => Array ( 
                [err_code] => 1 
                [err_msg] => Filename cannot be blank. 
                [attribute_name] => filename [publicMessage] => Could not create offer file. 
            ) 
        ) 
        [errorMessage] => Could not create offer file. 
    ) 
) 

但是如果我使用 curl-command 那么它就可以工作

curl --verbose --globoff -X POST -F "xyz.zip=@xyz.zip" "http://api.hasoffers.com/v3/OfferFile.json?Method=create&NetworkToken=XXXX&NetworkId=RA&data[offer_id]=1899&data[type]=file&data[display]=xyz.zip&return_object=1"

我已经检查了这个脚本的一些要求

  1. 要上传的文件应与脚本所在的路径相同。

  2. 尝试了一些来自 stackoverflow 的其他解决方案。

  3. 给文件取不同的名字

但它们都不适用于此脚本。

但是同一个文件正在使用命令和使用他们的网站上传。

谁都能想出来。提前致谢。

最佳答案

PHP 脚本说(在“不要更改此处下方的任何内容”行下: $fields[$filename] = "@{$filename}";

但是在您的请求中我读到了这一行: [JetSmartShopping_zip] => @JetSmartShopping.zip

应该是: [JetSmartShopping.zip] => @JetSmartShopping.zip ?

您是否编辑了脚本中禁止的部分?

关于php - 无法使用 curl :Filename cannot be blank 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36085588/

相关文章:

php - 没有从 htaccess 中的 SetEnv 变量获取 $_SERVER 中的值

java - 如何让 Java HttpServer 处理文件上传的 Post 请求

Python 请求 POST 命令不遵循 302 重定向

api - 如何在 Flutter 中获取返回的 POST API

php - 计算选中了多少复选框 php/html

php - 当mysql数据库更改时动态更改网站内容

php - jquery ui 可选择的复选框

java - 检查文件是否已完全写入

java - 如何迭代位于运行的 .jar 文件外部的文件夹

mysql - 如何在 POST 后刷新之前让我的模板 "load"保持一两秒钟