繁体   English   中英

远程上传多个图像

[英]Remote uploading MULTIPLE images

好的,我有一个问题,伙计们。 我想通过将链接放入 TEXTAREA 并点击提交来远程上传(将图像从站点复制到我的服务器)多个图像。 我只是不知道如何使用多个图像来实现这一点。

我可以使用 copy(); 使用单个图像来制作它。 function,但不适用于 TEXTAREA 中的多个条目。

我还想将远程上传功能限制为最多 30 个远程链接,并且一张图片不应超过 10MB - 但我不知道如何开始。 我听说 cURL 能够做到这一点,我还听说 file_get_contents(); 与 file_put_contents(); 可以做类似的事情,但我仍然不知道如何自己做。

帮助任何人? :)

您可以使用与现在处理单个图像相同的过程,但要循环执行。

$lines = explode("\n", $_POST['textarea']);
if(count($lines) > 30) {
  die('Too many files');
}
foreach($lines as $line) {
  $srcfile = trim($line);
  //copy $srcfile here
  //check size of the file with filesize()
}

您需要从textarea解析 URL。 您可以在 PHP 端使用正则表达式。

然后,您可以检查前 30 个已解析的 URL 和array_slice() ,如果超过 30 个则错误。

然后,您需要从远程服务器复制文件。 您可以检查Content-Length header 以确保文件小于 10mb。 您可以使用HEAD而不是GET来获取标题。

我不熟悉 PHP 但我建议如下:

解决多文件上传问题:

  • 用回车符分割文本区域的内容

  • 然后迭代它们以获取图像

将每个文件的大小保存在变量中,但是如何获取大小?

  • 您可以执行 exec (system) 调用以了解文件大小(这需要完整的图像下载,但这是最方便的方法),或者您可以使用 Content-Length header 值,如果内容长度超过 10 MG 则跳过它并移至下一个项目。

如何下载图像?

  • 使用文件放置内容,但确保将编码设置为二进制编码以保留内容类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM