我正在试图弄清楚如何执行这个CURL命令:
curl https://uploads.stripe.com/v1/files \
-u sk_test_OCHANGEDPcDr0: \
-F purpose=identity_document \
-F file="@/path/to/a/file.jpg"
在PHP中,我正在使用这个PHP脚本: https://github.com/php-mod/curl
尝试了这个:
$curl->setBasicAuthentication('-u', 'sk_live_CHANGED');
$curl->post('https://uploads.stripe.com/v1/files', array(
'purpose' => 'dispute_evidence',
'file' => $targetFile,
));
但是我认为语法是完全错误的,我真的很陌生,并且不了解所有不同的-u和-F命令PHP等价物。
答案 0 :(得分:1)
你可能想尝试这样的事情:
$headers = array(
'Authorization: Bearer ' . $your_api_key,
'Content-Type: multipart/form-data'
);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'https://uploads.stripe.com/v1/files',
CURLOPT_POST => true,
CURLOPT_INFILESIZE => '10000',
CURLOPT_HTTPHEADER => $headers,
CURLOPT_POSTFIELDS => array(
'purpose' => 'dispute_evidence',
'file' => '@' . realpath($path_to_file)
)
));
$resp = curl_exec($curl);
curl_close($curl);
编辑:或者,您可以直接从浏览器http://docs.oracle.com/cd/B19306_01/server.102/b14200/sql_elements004.htm#i34924上传文件。
答案 1 :(得分:1)
-u username:password
选项转换为:
$curl->setBasicAuthentication('username', 'password');
要上传文件,您需要将@
放在文件名之前,就像在curl
命令中一样。
$curl->post('https://uploads.stripe.com/v1/files', array(
'purpose' => 'dispute_evidence',
'file' => '@' . $targetFile,
));
答案 2 :(得分:0)
如果您有一个功能curl
命令调用,您可以通过添加--libcurl filename.c
选项来获得所需内容。
这将生成一个C程序来执行命令行所做的事情。虽然您使用的是PHP而不是C,但这仍然很有用,因为它们对各种选项都使用相同的名称。