Я пытаюсь выяснить, как сделать эту команду 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,
));
Но я думаю, что синтаксис совершенно неправильный, я действительно новичок в curl и не понимаю, каковы все различные эквиваленты PHP -u и -F команд.
-u username:password
опция переводится как:
$curl->setBasicAuthentication('username', 'password');
Чтобы загрузить файл, нужно поставить @
перед именем файла, как в curl
команда.
$curl->post('https://uploads.stripe.com/v1/files', array(
'purpose' => 'dispute_evidence',
'file' => '@' . $targetFile,
));
Возможно, вы захотите попробовать что-то вроде этого:
$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);
РЕДАКТИРОВАТЬ: В качестве альтернативы, вы можете загружать файлы прямо из браузера как это.
Если у вас есть функционал curl
Вызов команды, вы можете получить то, что вы после, добавив --libcurl filename.c
вариант.
Это сгенерирует C-программу, которая сделает то, что сделала ваша командная строка. Несмотря на то, что вы используете PHP, а не C, это все равно полезно, потому что они оба используют одни и те же имена для различных вариантов.