Ссылка для скачивания поверх случайного изображения php - PullRequest
0 голосов
/ 24 ноября 2018

Я отображаю несколько случайных изображений из папки, однако я не очень хорошо разбираюсь в 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 голосов
/ 24 ноября 2018

Вы можете использовать для этого простой javascript, например, событие onclick:

, просто добавьте это в тег img onclick='window.open('". random_image('css/images/avatars') ."')'

echo "<img onclick='window.open('". random_image('css/images/avatars') ."')' src='" . random_image('css/images/avatars') . "' />";
0 голосов
/ 24 ноября 2018

Вы должны сохранить местоположение изображения в переменной, затем использовать его для создания ссылки, а также отобразить ее.

$imageUrl = random_image('css/images/avatars');
echo "<a href=" . $imageUrl . ">";
echo "<img src=" . $imageUrl . " />";
echo "</a>";

или, если вы хотите показать текстовую ссылку выше, отдельно, то

$imageUrl = random_image('css/images/avatars');
echo "<a href=" . $imageUrl . ">Click Here</a><br />";
echo "<img src=" . $imageUrl . " />";
...