Проблема загрузки файла с CURL, PHP и Apache на Windows - PullRequest
0 голосов
/ 04 октября 2011

У меня проблемы с загрузкой файлов с использованием CURL с PHP (в Windows - если это имеет значение).

По сути, я могу публиковать на URL и отображать то, что было опубликовано, за исключением поля с файлом.В этом случае я тестирую код, который указывает на тот же сервер, но как только я смогу подтвердить, что файл загружен, я отправлю его в другой домен (опять же, если это имеет значение).

Вот начало.php

$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_USERPWD, "user:pass");
curl_setopt($curl_handle,CURLOPT_URL, "http://domain/upload.php");
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl_handle,CURLOPT_POST, 1);
$post = array("boo"=>"yaaah",
        "xml"=>"@e:/path/to/file/new.xml");
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $post);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);

Затем upload.php

print_r($_POST);

Результат вызова CURL, вывод $ buffer:

array(1) { ["boo"]=> string(5) "yaaah" }

Edit # 1

Вместо этого я сделал print_r ($ _ FILES) и получил это:

array(1) { ["xml"]=> array(5) { ["name"]=> string(7) "new.xml" ["type"]=> string(24) "application/octet-stream" ["tmp_name"]=> string(26) "C:\WINDOWS\TEMP\php892.tmp" ["error"]=> int(0) ["size"]=> int(3733) } }

Это доказывает, что мой файл загружается.Почему API не получает доступа к нему, к которому я пытаюсь получить доступ, это вопрос, на который они должны ответить:)

1 Ответ

1 голос
/ 04 октября 2011

Если вы хотите получить информацию о загруженных файлах,

print_r($_POST);

не полезно. Возможно, вы захотите посмотреть и на $_FILES:

print_r($_FILES);

Это переменная, которая содержит информацию о загрузке файла. Пожалуйста, прочитайте руководство по загрузке файлов .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...