gpt4 book ai didi

php - 如何真正快速地使用 PHP 在服务器上复制 2000 张图像?

转载 作者:可可西里 更新时间:2023-10-31 23:07:58 25 4
gpt4 key购买 nike

我有一个 PHP 文件(网站上的功能)- 允许用户从他在另一个网站上的帐户导入数据。
每次他要导入数据时,我还需要从那里复制很多图像。
例如。 500 张图片,每张最少 300-500Kb。对于一个用户来说,这个数字很容易达到 2000 张图像。

每张图片的步骤是:

  • 获取图片网址
  • 从 URL 制作图像(通过使用 imagecreatefromjpeg 和其他)
  • 将其保存在我的服务器上(使用 imagejpeg、imagepng 等函数)

执行此代码已经花费了很长时间(超过 8 分钟)。
我知道它有很多数据,但还有其他可能的方法吗?
也许在后台运行复制,或者同时复制多张照片。
就是想知道有没有专门针对这个设计的技术,不知道有没有。
或者除了将图像工作外包给某些图像托管服务器并且只保留缩略图之外别无他法。

谢谢。

最佳答案

这里没有太多信息可以继续。使用的是什么操作系统?源站点有多“远程”?图片已经是什么格式了?

如果另一个站点是远程站点(即不同的托管公司),您将遇到的主要问题是源服务器将数据通过管道传输到您的计算机的速度。

不过,一个大问题是“目前图像的格式是什么?”。如果图像已经是 JPEG,那么检索并再次转换为 JPEG 会降低质量(尽管是轻微的)。更好的做法是直接复制图像文件。这将消除您的 PHP 应用程序重新编码 JPEG 所花费的时间。问问自己 - 您真的需要转换图像吗?

根据您可用的操作系统命令,您可能最好调用处理传输的应用程序(例如 Linux 中的 wget)。我已经使用 wget 将文件从远程服务器检索到本地服务器,运行起来并不难。

请记住 - 转移步骤越多,所需时间就越长。目前,您有:

  • 检索
  • 转化
  • 写作

全部由 PHP 处理(可能从最慢到最快)

源主机是否为客户提供存档或导出工具?如果是这样,是否可以利用它来批量传输文件?

尽可能多地使用 PHP 将使过程更快。调用系统函数(例如,wgetftpsshimagemagick 等)将使事情变得更快(外部PHP Apache)

关于php - 如何真正快速地使用 PHP 在服务器上复制 2000 张图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12387688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com