Форум программистов, компьютерный форум, киберфорум
PHP: сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
28 / 0 / 0
Регистрация: 13.07.2015
Сообщений: 80

Не генерится файл для отправки курлом

18.12.2019, 05:40. Показов 2232. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всем привет, пытаюсь отправить по апи в вк файл пост-запросом, вот чего от меня хочет вк:
Code
1
2
Передайте файл на адрес upload_url, полученный в предыдущем пункте, сформировав POST-запрос с полем file. Это поле должно содержать файл в формате multipart/form-data.
После успешной загрузки сервер возвращает в ответе JSON-объект с полем file
вот так вот делаю я:
PHP
1
2
3
4
5
6
7
8
9
10
11
$local_filename = "testjpg.jpg";
$ch=curl_init($uploadserver);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_HTTPHEADER,array("Content-Type: multipart/form-data"));
curl_setopt($ch,CURLOPT_POSTFIELDS,array("file"=>"@".$local_filename));
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,10);
curl_setopt($ch,CURLOPT_TIMEOUT,50);
$result=curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
но судя по выводу curl_getinfo, то файл для отправки не создаётся, хотя и лежит рядом с пхп-скриптом:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Array
(
    [url] => тут_адрес_для_загрузки
    [content_type] => application/json; charset=utf-8
    [http_code] => 200
    [header_size] => 494
    [request_size] => 310
    [filetime] => -1
    [ssl_verify_result] => 0
    [redirect_count] => 0
    [total_time] => 0.187
    [namelookup_time] => 0.031
    [connect_time] => 0.047
    [pretransfer_time] => 0.093
    [size_upload] => 151
    [size_download] => 43
    [speed_download] => 229
    [speed_upload] => 807
    [download_content_length] => 43
    [upload_content_length] => 151
    [starttransfer_time] => 0.093
    [redirect_time] => 0
    [redirect_url] => 
    [primary_ip] => 95.142.204.167
    [certinfo] => Array
        (
        )
 
    [primary_port] => 443
    [local_ip] => 192.168.1.252
    [local_port] => 49218
)
как видно, size_upload и upload_content_length содержат совсем не тот размер, какого размера может быть картинка. да и сервер вк отвечает, что файл не был передан.
подскажите пожалуйста, что я делаю неверно ?

Добавлено через 19 минут
попробовал сделать вот так:
PHP
1
curl_setopt($ch,CURLOPT_POSTFIELDS,array('file'=>"@".file_get_contents("testjpg.jpg")));
поля size_upload и upload_content_length в curl_getinfo изменили свой размер на размер, похожий на размер файла, но видимо всё же что-то не так, потому что контакту с той стороны файла всё так же не видно.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.12.2019, 05:40
Ответы с готовыми решениями:

Bat-файл для отправки счётчика по почте
Доброго времени суток! Тема такая, нужно написать bat файл для расчёта количества дней оставшихся до определённой даты и отправить их по...

PHP файл для отправки userID вконтакте
Имеется html файл <!DOCTYPE html> <html><head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta...

Создать файл send.php для отправки сообщения через mysqladmin
Мы заходим как авторизованные пользователи. Не знаю как написать файл отправки. У нас будет файл index.php, где авторизация. База данных...

3
Невнимательный
 Аватар для ft4l
2840 / 1266 / 358
Регистрация: 08.02.2013
Сообщений: 7,365
Записей в блоге: 2
18.12.2019, 09:41
Цитата Сообщение от DeLaKroiX Посмотреть сообщение
CURLOPT_POSTFIELDS,array("file"=>"@".$lo cal_filename)
вроде должно посложнее передаваться содержимое и сведения о файле....
например можно разобраться тут
https://gist.github.com/maxiva... b303811d5f
0
28 / 0 / 0
Регистрация: 13.07.2015
Сообщений: 80
18.12.2019, 19:33  [ТС]
да, это я видел, думал мож просто есть вариант с меньшим кол-вом кода, чем там )) спасибо, буду тогда под этот вариант переделывать )
0
Невнимательный
 Аватар для ft4l
2840 / 1266 / 358
Регистрация: 08.02.2013
Сообщений: 7,365
Записей в блоге: 2
18.12.2019, 21:40
Лучший ответ Сообщение было отмечено DeLaKroiX как решение

Решение

Цитата Сообщение от DeLaKroiX Посмотреть сообщение
вариант с меньшим кол-вом кода,
аааа есть, ... оказывается в мануале всё описание примерно такое
(PHP 5 >= 5.5.0, PHP 7)
curl_file_create — Создает объект CURLFile

Описание
Эта функция является псевдонимом: CURLFile::__construct()
А так можно найти например примеры
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.12.2019, 21:40
Помогаю со студенческими работами здесь

Как при помощи C# отправить выбранный файл в outlook для последующей отправки на почту?
Например имеем форму с кнопкой на ней, требуется при нажатии на кнопку открыть Outlook и добавить заранее выбранный файл (Вложение файла). ...

Передача картинки курлом
Здравствуйте! Проблема с загрузкой изображения на сервис Яндекса с помощью командной строки cURL. Яндекс предоставил API:curl \ -H...

Как правильно создать файл из Uri или Uri.getPath() для отправки на сервер?
Есть Uri, полученный после выбора файлов в галерее. Uri вроде правильный:...

Каптча не генерится
<img src="/captcha/captcha.php" alt=""/> - вывод каптчи сам код каптчи: session_start(); $count_symbols=5; ...

Не генерится превьюшка
Всем привет! Подскажите, что не так в моем скрипте? Задача такая - закачать изображение в нужную папку с проверками, переименовать его,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru