probably a simple thing but I can't think of an easy and good solution …
I want to load one of three videos randomly on page load …
<video loop autoplay class="StretchtoFit">
<source src="assets/videos/cloud.mp4" type="video/mp4">
<source src="assets/videos/cloud.ogg" type="video/ogg">
<source src="assets/videos/cloud.webm" type="video/webm">
</video>
<video loop autoplay class="StretchtoFit">
<source src="assets/videos/bath.mp4" type="video/mp4">
<source src="assets/videos/bath.ogg" type="video/ogg">
<source src="assets/videos/bath.webm" type="video/webm">
</video>
<video loop autoplay class="StretchtoFit">
<source src="assets/videos/train.mp4" type="video/mp4">
<source src="assets/videos/train.ogg" type="video/ogg">
<source src="assets/videos/train.webm" type="video/webm">
</video>
The webpage is php-based. Is there any easy way to use a one of the three tags on random and don't load the other two?
How would you do that?
PHP:
$videos = array('cloud', 'bath', 'train');
$i = rand(0, count($videos) - 1); // between 0 and $videos count minus 1
HTML:
<video loop autoplay class="StretchtoFit">
<source src="assets/videos/<?= $videos[$i]; ?>.mp4" type="video/mp4">
<source src="assets/videos/<?= $videos[$i]; ?>.ogg" type="video/ogg">
<source src="assets/videos/<?= $videos[$i]; ?>.webm" type="video/webm">
</video>
I'm using the short hand tag for echoing (<?php echo
), <?=
. Please make sure short_open_tag
is enabled in your php.ini. Of course, you'll find out soon enough if it doesn't work.
<?php
$videos = ['cloud', 'bath', 'train'];
$max = count($videos); // gives 3
$i = rand(0, $max - 1); // we need 0 to 2
$exts = ['mp4','oog','webm']; // oog is not needed
?>
<video loop autoplay class="StretchtoFit">
<?php
foreach($exts as $ext):
echo '<source src="assets/videos/'. $videos[$i].$ext. '" type="video/'. $ext .'">';
endforeach;
?>
</video>