Размещение данных в PHP Curl - PullRequest
2 голосов
/ 14 ноября 2011

Я пытаюсь опубликовать содержимое файла как параметр, используя PHP CURL.

Данные публикуются, но Zoho открывает пустой документ вместо того, который я пытаюсь открыть.

Я считаю, что это потому, что я предоставляю неправильный ввод переменной $post_data['content'].

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

Zoho открывает пустой документ, когда полученное содержимое пусто в соответствии с тем, что говорится в API ZOHO.

Мой код приведен ниже для справки. <</p>

?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);

?>

1 Ответ

2 голосов
/ 14 ноября 2011

Мое предположение будет изменено

curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);

на

curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_data);

Я предполагаю, что преобразование его в строку делает скручивание незагрузить файл с волшебством @ http://dtbaker.com.au/random-bits/uploading-a-file-using-curl-in-php.html

...