Отправка файлов curl

M9
На сайте с 15.05.2014
Offline
79
5809

Такой вопрос как передать файл на этот сервер с своего сервера? дайте пример кода пожалуйста.

что показывает firebug

ДП
На сайте с 23.11.2009
Offline
203
#1

Первая ссылка в гугле http://zudochkin.ru/2011/03/uploading-files-using-curl-php/

у вас вместо $postData['image'] будет $postData['file'], с остальным по аналогии.

W
На сайте с 09.04.2013
Offline
46
#2


<?php
//Путь к файлу
$file = "/home/alex/Downloads/file.jpg";

//Коментарий
$comment = 'Коментарий';

//Загружаем файл
$ch = curl_init('http://tajshare.tj/upload.php');

$post = array(
// 'file' => new \CURLFile($file), //PHP 5 >= 5.5.0, PHP 7
'file' => '@' . $file, // PHP 5 < 5.5.0
'com' => $comment
);

curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec($ch);
curl_close($ch);

//Получаем ссылки
preg_match_all('#<td>(.*?)<input type="text" value="(.*?)" style="width: 600px;"#', $html, $result, PREG_SET_ORDER);
foreach ($result as $item) {
list($code, $caption, $link) = $item;
echo $caption . ' ' . $link . PHP_EOL;
}

M9
На сайте с 15.05.2014
Offline
79
#3
webjey:

<?php
//Путь к файлу
$file = "/home/alex/Downloads/file.jpg";

//Коментарий
$comment = 'Коментарий';

//Загружаем файл
$ch = curl_init('http://tajshare.tj/upload.php');

$post = array(
// 'file' => new \CURLFile($file), //PHP 5 >= 5.5.0, PHP 7
'file' => '@' . $file, // PHP 5 < 5.5.0
'com' => $comment
);

curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$html = curl_exec($ch);
curl_close($ch);

//Получаем ссылки
preg_match_all('#<td>(.*?)<input type="text" value="(.*?)" style="width: 600px;"#', $html, $result, PREG_SET_ORDER);
foreach ($result as $item) {
list($code, $caption, $link) = $item;
echo $caption . ' ' . $link . PHP_EOL;
}

Спасибо вам огромное, вы просто гений веб'а ни раз выручали меня.

M9
На сайте с 15.05.2014
Offline
79
#4

Что то ошибка при загрузке вот полый путь к файлу: $file = "/home/tetes/public_html/files/files/Eminem.mp3";

W
На сайте с 09.04.2013
Offline
46
#5
mega94:
Что то ошибка при загрузке вот полый путь к файлу: $file = "/home/tetes/public_html/files/files/Eminem.mp3";

Что за ошибка? Непонятно. Я.диск выдает 403.

Навскидку стоит обратить внимание на следующие пункты:

-правильность пути (существует ли файл, files 2 раза повторяется)

-права на файл

-версия PHP

-добавить curl_setopt($ch, CURLOPT_VERBOSE, true); после curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

M9
На сайте с 15.05.2014
Offline
79
#6
webjey:
Что за ошибка? Непонятно. Я.диск выдает 403.
Навскидку стоит обратить внимание на следующие пункты:
-правильность пути (существует ли файл, files 2 раза повторяется)
-права на файл
-версия PHP
-добавить curl_setopt($ch, CURLOPT_VERBOSE, true); после curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

W
На сайте с 09.04.2013
Offline
46
#7

PHP 5.6.17 > 5.5.0.

Права, я имел ввиду, на файл который загружаем (Eminem.mp3)

Ошибку которую выдает php не написал.

Скорее всего дело в версии php.

Вот так должно работать


$post = array(
'file' => new \CURLFile($file), //PHP 5 >= 5.5.0, PHP 7
// 'file' => '@' . $file, // PHP 5 < 5.5.0
'com' => $comment
);
M9
На сайте с 15.05.2014
Offline
79
#8

Заработала 🍻 :) вот результат: Клик

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий