无法使用curl上传文件:文件名不能为空

时间:2016-03-18 13:24:59

标签: php file post curl

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

我已经更改了脚本中的参数,正如他们所说的那样。比如

window.open()

脚本回复

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

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

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. 
    ) 
) 

我已检查过此脚本的以下要求

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

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

  3. 给出不同的文件名

  4. 但他们都没有为这个剧本工作过。

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

    任何人都可以搞清楚。提前谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

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

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