通过随机php图像下载链接

时间:2018-11-23 21:58:49

标签: php html image random

我正在显示文件夹中的许多随机图像,但是我对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周围寻找答案,但找不到任何东西,将不胜感激

2 个答案:

答案 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') ."')'