Отправляю в POST base64 изображение с 1 сервера и сохраняю в файл на втором, работает только с короткими строками (маленькими изображениями)
Apache
в настройках php :
upload_max_filesize 50M
post_max_size 50M
(POST запросы намного меньше)
отправляю с 1 сервера:
$src = "base64 image";
function imgAPI($data)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'https://pf.nf/api/v1');
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($curl);
return json_decode($response);
curl_close($curl);
}
$data = array(
'img' => $src,
'path' => '../img/profile/'
);
$response = imgAPI($data);
принимаю с другого сервера:
define('UPLOAD_DIR', $_POST['path']);
$img = $_POST['img'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = UPLOAD_DIR . uniqid() . '.png';
$success = file_put_contents($file, $data);
$callback['success'] = true;
print_r(json_encode($callback));