unkrt
@unkrt
Junior.

Перевести из python в php 2 строки. Но как?

Все бы было хорошо, если бы не было так грустно.
В общем, в решении одной больно простой задачи, наткнулся на то, что лучше и удобнее для меня будет писать на php, но так, как я только начинаю путь программирования, не понимаю как переписать данную строчку под пхп.
С пост запросом дела обстоят легче, а вот со словарём питона, проблемы.

file = {'file1' : open('name.img', 'rb')}
ur = requests.post(upload_url, files=file).json()


Спасибо что внесли вклад в мое становление маленьким "бекендером" в этой грустной жизни.
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
<?php
$upload_url = "тут ваш upload_url";

$ch = curl_init($upload_url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('file1' => '@name.img')); 
$result = curl_exec($ch);

$ur = json_decode($result);
//print_r($ur);


Если же ищете что-то близкое к питоновскому requests то для PHP это библиотека guzzle, которая в простейшем случае реализует обёртку над curl и под капотом будет примерно тот же код что я дал выше
docs.guzzlephp.org/en/latest/quickstart.html?highl...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
artemiy_karkusha
@artemiy_karkusha
Гость в этой жизни.
use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\Psr7\Response;

$client = new Client();
$body = fopen('/path/to/file', 'r');
$r = $client->request('POST', 'http://httpbin.org/post', ['body' => $body]);

Пример используя Guzzle.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы