Это мой первый пост в переполнении стека, поэтому, пожалуйста, прости меня, если я использовал неправильное форматирование или соглашения. Я пытаюсь написать тестовый сценарий, который получает изображение в формате png с веб-страницы POST (multipart / form-data), удаляет опубликованное изображение и передает его третьему лицу как Content-Type: image / png.
У меня есть php-файл (catcher.php), который является получателем перенаправленного изображения. Post.php, файл php, который отправляет загруженное изображение в catcher.php, находится ниже:
<?php
$img = imagecreatefrompng($_FILES['myfile']['tmp_name']);
imagepng($img);
$opts = array(
'http'=>array(
'method'=>"POST",
'content'=>$img,
'header'=>"Content-Type: image/png\r\n"
)
);
$context = stream_context_create($opts);
file_get_contents( "http://localhost/catcher.php", false, $context);
?>
Post.php прекрасно получает файл с веб-страницы, которая публикует его как multipart / form-data, однако я не уверен, как получить доступ к содержимому image / png в catcher.php.
У меня вопрос, в catcher.php, как мне получить доступ к содержанию изображения? Я пробовал $ _POST ['content'] и получаю следующую ошибку: "Неопределенный индекс: контент". Так что я знаю, что просто не ищу правильные данные. Существует ли конкретная суперглобальная переменная, такая как $ _POST или $ _REQUEST, которую я могу использовать для доступа к содержимому размещенного изображения, или есть какое-то другое решение?
РАЗРЕШЕНИЕ
Я смог найти результат, который искал, с помощью следующего кода для catcher.php:
$input = fopen("php://input","+r");
$destination = fopen($target_path, 'w');
stream_copy_to_stream($input, $destination);
fclose($input);
fclose($destination);
?>
Спасибо вам и Марку, и Брендену за ваши оперативные ответы!