我正在显示文件夹中的许多随机图像,但是我对PHP(来自互联网的代码)不太满意,如何在图像顶部显示“下载”链接?
使用PHP从文件夹显示随机图像:
function random_image($directory)
{
$leading = substr($directory, 0, 1);
$trailing = substr($directory, -1, 1);
if($leading == '/')
{
$directory = substr($directory, 1);
}
if($trailing != '/')
{
$directory = $directory . '/';
}
if(empty($directory) or !is_dir($directory))
{
die('Directory: ' . $directory . ' not found.');
}
$files = scandir($directory, 1);
$make_array = array();
foreach($files AS $id => $file)
{
$info = pathinfo($dir . $file);
$image_extensions = array('jpg', 'jpeg', 'gif', 'png', 'ico');
if(!in_array($info['extension'], $image_extensions))
{
unset($file);
}
else
{
$file = str_replace(' ', '%20', $file);
$temp = array($id => $file);
array_push($make_array, $temp);
}
}
if(sizeof($make_array) == 0)
{
die('No images in ' . $directory . ' Directory');
}
$total = count($make_array) - 1;
$random_image = rand(0, $total);
return $directory . $make_array[$random_image][$random_image];
}
标记:
echo "<img src=" . random_image('css/images/avatars') . " />";
我尝试在Google周围寻找答案,但找不到任何东西,将不胜感激
答案 0 :(得分:1)
您应该将图像位置保存在变量中,然后使用它创建链接并显示它。
start myapp.exe ^&& pause
或者如果要显示上面的文本链接,则分别
$imageUrl = random_image('css/images/avatars');
echo "<a href=" . $imageUrl . ">";
echo "<img src=" . $imageUrl . " />";
echo "</a>";
答案 1 :(得分:0)
您可以使用简单的javascript来做到这一点,例如$("<li class='active' data-toggle='tab'><a href='#summary' aria-expanded='true'>Summary</a></li>").appendTo("#tabs")
事件:
只需将其添加到img标签onclick
onclick='window.open('". random_image('css/images/avatars') ."')'