Загрузите фотографию, щелкнув ее в окне веб-браузера. - PullRequest
1 голос
/ 26 февраля 2012

Я искал везде и не могу найти ответ на этот вопрос:

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

Ответы [ 4 ]

1 голос
/ 26 февраля 2012

Аналогичен ответу Майка Б, но больше вспыхнуло:

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

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

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

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

1 голос
/ 26 февраля 2012

Имейте ссылку, которую они нажимают, пингуют ваш сервер с URL изображения, чтобы его можно было загрузить

0 голосов
/ 26 февраля 2012

Я не знаком с Instagram API, но у меня есть следующее предложение.Как я понимаю, с помощью 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);



?>
0 голосов
/ 26 февраля 2012

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

...