使用srcset和dir(php)

时间:2015-12-23 03:01:56

标签: php image responsive-images

我正在寻找一种方法来使用响应式图片属性' srcset'与PHP一起。我目前正在使用以下代码从服务器上的目录中选择随机图像:

<?php
$dir = "img/";
$images = scandir($dir);
$i = rand(2, sizeof($images)-1);
?>

<img src="img/<?php echo $images[$i]; ?>" alt="image">

我在目录中使用后缀创建了不同版本的图像(即image-1-small.jpg,image-1-big.jpg ... image-2-small。 jpg,image-2-big.jpg等。)

如何将srcset属性实现到php字符串中?我正在寻找类似于此的输出:

<img sizes="100vw" srcset="img/image-1-small.jpg 400w, img/image-2-medium.jpg 800w, img/image-1-big.jpg 1600w" src="img/image-1-small.jpg" alt="image-1">

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

<?php
$dir = "img/";
$images = scandir($dir);
$i = rand(2, sizeof($images)-1);
// Get image file name.
$image_name_full = $images[$i];
// Define display types.
$image_display_types = array("-small.jpg", "-medium.jpg", "-big.jpg");
// Remove image display type from image name.
$image_name = str_replace($image_display_types, "", $image_name_full);
?>

<img sizes="100vw" srcset="img/<?php echo $image_name; ?>-small.jpg 400w, img/<?php echo $image_name; ?>-medium.jpg 800w, img/<?php echo $image_name; ?>-big.jpg 1600w" src="img/<?php echo $image_name; ?>-small.jpg" alt="<?php echo $image_name; ?>">