|
|
|
| Cкорее всего надо в CURLOPT_HEADER указать
какое-то число, чтобы бинарник загрузился, но какое? | |
|
|
|
|
|
|
|
для: Eugene77
(29.03.2010 в 16:10)
| | процедура описанна в user contributed comments мануала с подробными примерами. | |
|
|
|
|
|
|
|
для: Trianon
(29.03.2010 в 16:14)
| | А где их искать? | |
|
|
|
|
|
|
|
для: Trianon
(29.03.2010 в 16:14)
| | Я нашёл вот такой пример:
<?php
//инициализируем сеанс
$curl = curl_init();
//уcтанавливаем урл, к которому обратимся
curl_setopt($curl, CURLOPT_URL,
'http://www.example.loc/test.php');
//включаем вывод заголовков
curl_setopt($curl, CURLOPT_HEADER, 1);
//передаем данные по методу post
curl_setopt($curl, CURLOPT_POST, 1);
//теперь curl вернет нам ответ, а не выведет
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
/*переменные, которые будут переданные по методу post
Перед именем файла ставится @
*/
curl_setopt($curl, CURLOPT_POSTFIELDS,
array('name'=>urlencode('John'),
'surname'=>urlencode('Smith'),
'my_file'=>'@'.dirname(__FILE__).
DIRECTORY_SEPARATOR.'test_file.jpg'
)
);
//я не скрипт, я браузер опера
curl_setopt($curl, CURLOPT_USERAGENT, 'Opera 10.00');
$res = curl_exec($curl);
//проверяем, если ошибка, то получаем номер и сообщение
if(!$res){
$error = curl_error($curl).'('.curl_errno($curl).')';
echo $error;
}
//если не ошибка, то выводим результат
else{
echo $res;
}
curl_close($curl);
?>
|
Но
даёт:
Array
(
[file1] => Array
(
[name] => readonly.txt
[type] => text/plain
[tmp_name] => Z:\tmp\php390.tmp
[error] => 0
[size] => 381
)
)
|
Хотя автор утверждает, что его скрипт пересылает даже картинку | |
|
|
|
|
|
|
|
для: Eugene77
(29.03.2010 в 18:17)
| | Так если name = readonly.txt , то чего еще Вы хотите от type? | |
|
|
|
|
|
|
|
для: Trianon
(29.03.2010 в 23:40)
| | >Так если name = readonly.txt , то чего еще Вы хотите от type?
Что ж он по расширению файла что ли, тип данных определяет?
А если будет неизвестное раширение или несоответствие расширения и типа?
Я бы хотел где-то явно указать octet-stream
Или что там принято указывать для бинарников. | |
|
|
|
|
|
|
|
для: Trianon
(29.03.2010 в 23:40)
| | Я пробовал с mp3 файлом.
Получаю битый файл и ошибку.
Array
(
[file1] => Array
(
[name] => 00.mp3
[type] =>
[tmp_name] =>
[error] => 1
[size] => 0
)
)
|
А где есть документация да ещё и с обилием (работающих ) примеров, я так и не понял. | |
|
|
|
|
автор: Тень* (31.03.2010 в 12:59) |
|
|
для: Eugene77
(31.03.2010 в 12:26)
| | А ты почитай, что такое error == 1 | |
|
|
|
|
|
|
|
для: Тень*
(31.03.2010 в 12:59)
| | Я что-то никак не найду нормальной документации по CURL. и по POST
Подскажите ссылочку на нормальныую документацию, то что мне попадается - очень уж поверхностное. | |
|
|
|