我想要一个网页在加载时显示几个随机图像。我想过几个解决方案,但我真的希望能够将图像转储到文件夹而不重命名,网页将从文件夹中的那些图像中选择并显示它们
我可以想象一个PHP解决方案将显示文件夹中的随机图像,但它需要查找某些名称。
所以我的下一步是建立一个SQL数据库,其中每个图像都有一个键,并且查询会随机选择10个键 - 然后将与它们关联的图像传递到一个数组中,文档将加载这些元素的。
但是现在我想我需要知道如何通过读取文件夹来自动填充SQL数据库?
洞察力表示赞赏,如果我不必重新发明轮子那就更好了
答案 0 :(得分:3)
Glob在文件系统上工作,例如支持通配符
$files = glob('/path/to/files/*.jpg');
$yourRandomFile = array_rand($files);
这将返回一个随机的JPG文件,基于它的扩展名。
答案 1 :(得分:1)
这应该这样做:
function your_dir ($directory)
{
$results = array();
$handler = opendir($directory);
while ($file = readdir($handler)) {
if ($file != "." && $file != "..") {
$results[] = $file;
//or sql query for each file
$sql = mysql_query("SELECT * FROM your_table WHERE your_file = '".$file."'");
if(mysql_num_rows !== 0){
//your query...
}
//
}
}
closedir($handler);
return $results;
}
$directory = '/path/to/your/directory';
your_dir($directory);
从db中选择现有文件可能会更好,首先将它们放入一个数组并排除它们而不是检查每个文件。
答案 2 :(得分:0)
您可以执行以下操作 1.从您希望页面加载图像的位置读取完整目录 2.将图像名称存储在数组中 3.现在使用从1到数组大小的随机函数生成一个数字 4.将生成的数字视为数组的关键字,并使用该图像名称放置图像。