我有一个初始化图片库的PHP脚本。它循环遍历所有图像,检查它们是否有缩略图,并为它们添加水印。
我的共享主机帐户只允许我在php.ini设置中设置的每个脚本有30秒的执行时间。我无法改变这一点。
我能做些什么来解决这个问题呢?目前,我每隔5张图片就刷新一次页面,这可以防止脚本超时,但浏览器会识别出脚本无法完成,并给出一个错误。这是可以的,但它并不是真正的用户友好。
有什么建议吗?
发布于 2008-10-12 20:43:38
三个想法:
发布于 2008-10-12 22:51:16
也许您应该避免批处理,并创建一个代理生成脚本,按需为每个映像执行此过程。
在代理PHP脚本中重写转换代码,该脚本检查图像是否已缩略图,如果没有,则执行需要执行的操作。然后,可以使用fpassthru()加载缩略图或带水印的文件并将其发送到客户端。
您的网页应该只引用代理脚本,如
<img src="/image.php?DSC001.JPG">如果您的提供商支持Apache/重写,那么如果缩略图已经创建,那么您可以通过绕过代理/生成脚本来实现更大的魔力。
发布于 2008-10-12 20:51:05
获取一个图像列表,然后遍历它们,例如,您总共获得了500个img,一次可以获取5个img,并且在您完成它们之后,输出一个meta刷新标记,该标记将在2秒内重新加载脚本,例如,将您当前所在的图像编号作为参数。
<meta http-equiv="refresh" content="2;url=script.php?start=5">在你的脚本中,还要检查$_GET‘’start‘是什么,并从那里继续下5个图像,然后输出start=10,等等……直到你循环遍历所有它们。
https://stackoverflow.com/questions/196029
复制相似问题