Загрузите фотографию, щелкнув ее в окне веб-браузера.

StackOverflow https://stackoverflow.com/questions/9449107

  •  12-11-2019
  •  | 
  •  

Вопрос

Я искал везде и не нашел ответа на этот вопрос:

В настоящее время я работаю с API Instagram.У меня все это настроено, чтобы пользователи могли войти в систему и просмотреть все свои фотографии.Но я создаю своего рода сервис печати фотографий для Instagram, поэтому хочу, чтобы, когда пользователь нажимает на фотографию, он загружал эту фотографию на мой сервер.Я знаю, как выполнить загрузку PHP с помощью HTML-формы, но это странный случай, когда HTML-форма мне бесполезна.Думаю, мне нужно, чтобы изображение было выбрано и одновременно действовало как кнопка отправки?Я не совсем уверен, любая помощь будет оценена по достоинству!

Это было полезно?

Решение

Я не знаком с API Instagram, но имейте воспроизведение.Как я понимаю, на API Instagram фотографии отображаются на вашей странице - поэтому вам нужен какой-то JavaScript, чтобы добраться туда URL, и изображение должно действовать как кнопку «<input type="image" src="...the image source here.." alt="Submit button" name="i1">» ....Код PHP был бы что-то в этом роде:

<?php



//original image

$img = $_GET["i1"];



//directory to copy to (must be CHMOD to 777)

$copydir = "/home/user/public_html/directory/";



$data = file_get_contents($img);

$file = fopen($copydir . "blah.gif", "w+");

fputs($file, $data);

fclose($file);



?>
.

Другие советы

У вас есть ссылка, которую они щелкают Ping ваш сервер с URL-адресом изображения, чтобы его можно было загрузить

Подобный ответ Mike B, но более промытый:

Вы можете сделать невидимую форму для каждого изображения на странице.В каждой форме расположено входное поле, заполненное URL-адресом изображения, вы хотите отправить в вашу систему.Используйте событие Image Нажмите, чтобы отправить форму, которую она принадлежит.

На стороне PHP-сервера Ваш скрипт должен получить URL-адрес изображения и сделать запрос, чтобы загрузить его на сервер.Затем вы можете делать то, что вы хотите с этим.

Это один из способов.Я могу подумать как минимум еще два.

Обновление: есть прощественное решение.Смотрите комментарий Майка ниже.

Можете ли вы показать нам код, который поможет нам понять, как вы сейчас отображаете изображения?Я полагаю, вы всегда можете сделать что-то вроде <input type="submit" style="visibility: hidden;" /> а затем добавьте что-то вроде onClick=document.forms['NameOfThisForm'].submit(); к <img> тег, содержащий это конкретное изображение.Таким образом, у вас будет одна форма для каждого изображения, и вы сможете добавить дополнительные скрытые элементы для передачи на сервер любой дополнительной информации, например.идентификатор изображения, на которое щелкнул пользователь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top