Upload de fotos clicando na janela do navegador da web
Pergunta
Eu estive pesquisando em todos os lugares e não consigo encontrar uma resposta para isso:
Eu estou atualmente trabalhando com o Instagram API.Eu tenho tudo definido de modo que os usuários podem entrar e ver todas as suas fotos.Mas, eu estou criando um tipo de serviço de impressão de fotos para o instagram então eu quero que ele, de forma que quando o usuário clica na foto que ele carrega essa foto para o meu servidor.Eu sei como fazer um PHP de upload com um formulário html, mas isso é um estranho caso no qual um formulário html não é de nenhuma utilidade para mim.Eu acho que basicamente da imagem a ser seleccionada e também atuar como o botão enviar ao mesmo tempo?Eu não sou realmente certo, qualquer ajuda seria apreciada!
Solução
Eu não estou familiarizado com o Instagram API, mas tem o pousio sugestão.Como eu understastand, pelo Instagram API, as fotos são exibidas em sua página, então você precisa de um pouco de javascript para chegar lá urls, e a imagem tem para agir como botão de submeter '<input type="image" src="...the image source here.." alt="Submit button" name="i1">
'....O código PHP seria algo assim:
<?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);
?>
Outras dicas
tenha o link que eles clicam no ping do seu servidor com o URL da imagem para que ele possa ser baixado
Resposta semelhante ao Mike B, mas mais lavado:
Você pode tornar um formulário invisível para cada imagem na página.Em cada formulário, tenha um campo de entrada preenchido com o URL da imagem que você deseja enviar ao seu sistema.Use o evento Click Image para enviar o formulário que pertence.
No lado do servidor PHP, o script deve receber o URL da imagem e fazer uma solicitação para baixá-lo para o servidor.Você pode então fazer o que quiser com ele.
Isso é uma maneira.Eu posso pensar em pelo menos mais dois.
Atualização: há uma solução mais simples.Veja o comentário de Mike abaixo.
Você pode nos mostrar um código para nos ajudar a ter uma idéia de como você está exibindo no momento as imagens?Eu suponho que você sempre pode fazer algo como <input type="submit" style="visibility: hidden;" />
e, em seguida, adicionar algo como onClick=document.forms['NameOfThisForm'].submit();
para o <img>
etiqueta, contendo uma imagem específica.Desta forma, você tem um formulário por imagem, e você pode adicionar mais elementos ocultos para passar mais informações para o servidor, exemplo:a IDENTIFICAÇÃO da imagem que o usuário clicou.