我一直在到处寻找,似乎无法找到答案:
我目前正在使用 Instagram API。我已经设置好了,所以用户可以登录并查看他们所有的照片。但是,我正在为 instagram 创建一种照片打印服务,所以我想要它,以便当用户单击照片时,它会将该照片上传到我的服务器。我知道如何使用 html 表单进行 PHP 上传,但这是一个奇怪的情况,其中 html 表单对我没有用处。我想我基本上需要选择图像并同时充当提交按钮?我不太确定,任何帮助将不胜感激!
让他们单击的链接使用图像的 url ping 您的服务器,以便可以下载
与 Mike B 类似的答案,但更多的是:
您可以为页面上的每个图像呈现一个不可见的表单。在每个表单中,都有一个输入字段,其中填充了您要提交到系统的图像 URL。使用图片点击事件提交它所属的表单。
在 PHP 服务器端,您的脚本应该接收图像的 URL 并请求将其下载到服务器。然后你可以用它做你想做的事。
这是一种方式。我能想到至少还有两个。
更新:有更简单的解决方案。请参阅下面迈克的评论。
您能否向我们展示一些代码以帮助我们了解您当前如何显示图像?我想您总是可以做类似的事情<input type="submit" style="visibility: hidden;" />
,然后将类似的事情添加onClick=document.forms['NameOfThisForm'].submit();
到<img>
包含该特定图像的标签中。这样一来,每个图像都有一个表单,并且您可以添加其他隐藏元素以将任何进一步的信息传递给服务器,例如用户单击的图像的 ID。
我不熟悉 Instagram API,但有一些建议。据我了解,通过 Instagram API,照片会显示在您的页面中 - 因此您需要一些 javascript 来获取网址,并且图像必须充当提交按钮 ' <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);
?>