【问题标题】:Posting data in PHP Curl在 PHP Curl 中发布数据
【发布时间】:2011-12-28 17:28:29
【问题描述】:

我正在尝试使用 PHP CURL 将文件中的内容作为参数发布。

数据已发布,但 Zoho 打开了一个空白文档,而不是我尝试打开的文档。

我相信这是因为我提供了无效的输入 $post_data['content'] 变量。

$post_data['content'] = "@/c:/xampp/htdocs/site/a.doc";

当收到的内容为空时,Zoho 会根据 ZOHO API 中的说明打开一个空白文档。

下面给出我的代码以供参考。

?php   
        $post_data['content']  = "@/c:/xampp/htdocs/site/a.doc";
        $post_data['apikey']   = '[MY API KEY IS HERE]';
        $post_data['output']   = 'url';
        $post_data['filename'] = "a.doc";
        $post_data['id']       = '12345678';
        $post_data['format']   = "doc";
        $post_data['saveurl']  = 'https://localhost/researchPortal/tmp/save.php';
        $post_data['agentname'] = 'ZRemoteAgent';
        $post_data['mode']   = "normaledit";

        foreach ( $post_data as $key => $value)
        {
            $post_items[] = $key . '=' . $value;
        }

        $post_string = implode ('&', $post_items);



    //create cURL connection
$curl_connection =  curl_init('https://exportwriter.zoho.com/remotedoc.im');

//set options
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_USERAGENT,  "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);

//set data to be posted
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);

//perform our request
$result = curl_exec($curl_connection);

                echo $result;

//close the connection
curl_close($curl_connection);

?>

【问题讨论】:

    标签: php post file-upload curl zoho


    【解决方案1】:

    我的猜测会改变

    curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);

    到

    curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_data);

    我猜想把它转换成一个字符串是让 curl 不能用魔法 @ 上传文件 http://dtbaker.com.au/random-bits/uploading-a-file-using-curl-in-php.html

    【讨论】:

    • 好吧,我试过了,我在 zoho 端遇到了服务器错误com.adventnet.iam.security.IAMSecurityException: XSS_DETECTED 我想我必须把文档的路径,因为 zoho 上传文件。
    • 感谢您的指导,我终于设法让它工作了。我使用了一个数组 $fields = array();而不是 $post_data
    猜你喜欢
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    相关资源
    最近更新 更多