我需要将随机图像从网站保存到我的电脑。我知道如何使用PHP保存图像(我使用curl),但我无法正确保存随机(动态)图像。
假设网站(somesite.com)有一些文本内容和IMG标记,看起来像<img src='somesite.com/image.php'>
并显示随机图像。如果我使用浏览器,我只需右键单击并选择“保存图像”,这样我在屏幕上看到的图像将被保存(它们都将是相同的)。
但是,如果我使用curl打开somesite.com(因为我也需要抓取图像描述)然后再次使用curl打开somesite.com/image.php,图像会有所不同(因为随机的是每次用户请求image.php)时选择。
简单地说,如果somesite.com有文本“这是玫瑰色”,image.php将显示一个玫瑰,一切都会在浏览器上看起来很好。但是,如果我使用curl打开网站,它可能有文本“这是郁金香”,当我请求image.php保存该图像时,将显示另一个图像。如何获得与发送第一个请求时显示的完全相同的图像?
我想它应该在某个地方缓存,或者是什么?
答案 0 :(得分:0)
它不会缓存在您最有可能触及的任何位置。执行此操作的最佳方法是将随机化放入调用文件中,例如<img src='somesite.com/image.php?data=<?php echo $someRandomValue; ?>'>
。然后,每次使用相同的数据参数请求此图像时,您都可以使用此数据参数生成相同的图像。当然:如果有多个影响图像的变量,您可以向网址添加更多参数,或者只是将它们放在一个数组中,然后将其传递给base64编码。