0

我有一个网页,其中列出了数以千计的图像文件链接。目前处理这种情况的方式是使用一个非常大的 HTML 文件,该文件使用图像名称和指向图像文件的链接进行手动编辑。图像管理得不是很好,所以很多链接经常被破坏或名称错误。

这是 HTML 文件中数千行中的一行的示例:

    <h4>XL Green Shirt<h4>
<h5>SKU 158f15 </h5>
    [<a href="http://website.com/images/products/TIFF/158f15.tif" target="_blank">TIFF</a>] 
    [<a href="http://website.com/images/products/158f15.jpg" target="_blank">JPEG</a>]
    [<a href="http://website.com/images/products/PNG/158f15.png" target="_blank">PNG</a>]
    <br />

我在数据库中有关于图像的产品信息,所以我的解决方案是在 PHP 中编写一个页面来遍历数据库中的每个产品编号,并查看是否存在具有相同 id 的文件,然后显示适当的链接和信息。

我使用 PHP 函数 file_exists() 执行此操作,因为产品 ID 与文件名相同,并且它在我的本地计算机上运行良好。问题是所有图像都托管在 AmazonS3 上,因此在 S3 上运行此功能数千次总是会导致请求超时。我已经尝试过类似的 PHP 函数以及 ping URL 并测试 200 或 404 响应,所有超时。

是否有一种解决方案可以检查远程 URL 上的文件是否存在并消耗很少的资源?或者有没有更新颖的方法可以解决这个问题?

4

1 回答 1

1

我认为您最好确保在将记录放入数据库时​​强制执行文件的存在,而不是尝试在每次页面加载时检查数千个文件的存在。

话虽如此,另一种解决方案可能会s3fs与本​​地存储缓存目录一起使用,以检查文件是否存在。这比直接检查 S3 存储要快得多。s3fs还将提供一种将新文件写入 S3 存储的便捷方式。

于 2012-09-12T18:07:13.020 回答