远程上传MULTIPLE图像

时间:2011-05-29 11:13:49

标签: php file-upload file-get-contents image-uploading

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

我可以使用copy()创建单个图像;功能,但不适用于TEXTAREA中的多个条目。

我还想限制远程上传功能最多30个远程链接,一个图像不应超过10MB - 但我不知道如何开始。我听说cURL能够做到这一点,我也听说过file_get_contents(); with file_put_contents();可以做类似的事情,但我仍然无法弄清楚如何自己做。

帮助任何人? :)

3 个答案:

答案 0 :(得分:1)

您可以使用与单个图像相同的步骤,但可以循环执行。

$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()
}

答案 1 :(得分:1)

您需要解析textarea之外的网址。你可以使用这个PHP方面使用正则表达式。

然后,您可以检查解析后的网址,array_slice()前30位,如果超过30则错误。

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

答案 2 :(得分:1)

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

解决多个文件上传问题:

  • 通过回车分割文本区域中的内容

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

保留变量中每个文件的大小,但是如何获得大小?

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

如何下​​载图片?

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