Cli Curl в php Curl для загрузки файлаPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Cli Curl в php Curl для загрузки файла

Сообщение Anonymous »

Я пытаюсь настроить вызов библиотеки PHP Curl:

Код: Выделить всё

curl --location \
--header "authorization: LOW $accesskey:$secret" \
--upload-file /home/samuel/public_html/intro-to-k.pdf \
http://s3.us.archive.org/sam-s3-test-08/demo-intro-to-k.pdf
(это API интернет-архива: http://archive.org/help/abouts3.txt)

В настоящее время это находится в версии для разработчиков Windows 7, но будет перенесено в Ubuntu.

Я пробовал:

Код: Выделить всё

        $ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, array('authorization: LOW XXXX:XXXXX'));
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_URL, 'http://s3.us.archive.org/a_tested_working_dir/the_file_ane_and_ext' );
$post_array = array(
"upload-file"=>file_get_contents($absolute_path_to_my_file)
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_array);
$response = curl_exec($ch);
echo $response;
Ошибка: MalformedPOSTRequestТело вашего POST-запроса имеет неправильный формат multipart/form-data.bucket должно быть в DNS-имя_хостаXXXXXXXXXX

Я могу подставить свои собственные значения в оператор cli Curl и загрузить без проблем; Кажется, я просто не могу правильно настроить php curl

TIA!



Создан дамп --libcurl:

Код: Выделить всё

CURLcode ret;
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_INFILESIZE_LARGE, (curl_off_t)64d);
curl_easy_setopt(hnd, CURLOPT_URL, "http://s3.us.archive.org/jeffs_test_1301_librivox/test-francesbaird3.mp3");
curl_easy_setopt(hnd, CURLOPT_NOPROGRESS, 1);
curl_easy_setopt(hnd, CURLOPT_UPLOAD, 1);
curl_easy_setopt(hnd, CURLOPT_FOLLOWLOCATION, 1);
curl_easy_setopt(hnd, CURLOPT_USERAGENT, "curl/7.21.1 (i686-pc-mingw32) libcurl/7.21.1 OpenSSL/0.9.8r zlib/1.2.3");
curl_easy_setopt(hnd, CURLOPT_CAINFO, "C:\Program Files\Git\bin\curl-ca-bundle.crt");
curl_easy_setopt(hnd, CURLOPT_SSL_VERIFYPEER, 1);
curl_easy_setopt(hnd, CURLOPT_SSH_KNOWNHOSTS, "c:/Users/JMadsen/_ssh/known_hosts");
curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50);
ret = curl_easy_perform(hnd);
curl_easy_cleanup(hnd);
Я думаю, это может быть проверка SSL, но я только что попробовал установить значение false, никаких изменений

Подробнее здесь: https://stackoverflow.com/questions/144 ... ading-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»