Загрузите фотографию, щелкнув ее в окне веб-браузера.
Вопрос
Я искал везде и не нашел ответа на этот вопрос:
В настоящее время я работаю с 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>
тег, содержащий это конкретное изображение.Таким образом, у вас будет одна форма для каждого изображения, и вы сможете добавить дополнительные скрытые элементы для передачи на сервер любой дополнительной информации, например.идентификатор изображения, на которое щелкнул пользователь.