Я хотел бы использовать cURL в php для загрузки изображения на удаленный сервер изображений. У меня есть этот кусок кода, это на веб-сервере:Php загрузка изображения на удаленный сервер с помощью cURL
<form enctype="multipart/form-data" encoding="multipart/form-data" method="post" action="webform.php">
<input name="somevar" type=hidden value='.$somevar.'>
<input name="uploadfile" type="file" value="choose">
<input type="submit" value="Upload">
</form>
и:
if (isset($_FILES['uploadfile'])) {
$filename = $_FILES['uploadfile']['tmp_name'];
$handle = fopen($filename, "r");
$data = fread($handle, filesize($filename));
$POST_DATA = array(
'somevar' => $somevar,
'uploadfile' => $data
);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://1.1.1.1/receiver.php');
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $POST_DATA);
$response = curl_exec($curl);
curl_close ($curl);
echo $response;
}
На сервере изображений У меня есть изображение загрузить обработку PHP-файл, который работал очень хорошо на локальном хосте, но я хотел бы использовать его на удаленном сервере. Это, как я обработал файл загруженное изображение в receiver.php:
move_uploaded_file($_FILES['uploadfile']['tmp_name'], $file)
Я хочу, чтобы непосредственно передать файл изображения скрипт на удаленном сервере, так что этот способ мне не нужно переписывать сценарий загрузки всей , Я попытался опубликовать имя изображения, тип, размер как пост-переменные, но у меня нет ['tmp_name'], поскольку он не находится на локальном хосте.
Как я могу это решить? Спасибо, ребята, за любую помощь!
Я попробую его в ближайшее время и ответьте, как она идет , Спасибо. – nobodyknowshim
Спасибо, это работает! Я хотел бы указать будущим посетителям, что этот метод нуждается в большей безопасности, если вы хотите реализовать его в своем коде. Вам необходимо: проверить расширение, тип mime, размер, сгенерировать случайное имя, move_uploaded_file, использовать функцию imagecreatefromjpg и imagejpeg php. На сервере изображений вам необходимо: выполнить все вышеперечисленные задачи, чтобы убедиться, что никто не может избежать проверки безопасности, если кто-то прямо отправляет запрос на ваш сервер изображений. – nobodyknowshim