Generate PHP code for ubuntu to automatically switch wallpaper XML files

  • 2020-03-31 20:57:06
  • OfStack

 
<?php 
 
//The images directory
$dir = '/home/yuxing/background'; 

$hd = opendir($dir) or die('can not open dir'); 
$files = array(); 
while($file = readdir($hd)) { 
$tem = "$dir/$file"; 
if (is_file($tem) && in_array(strtolower(substr(strrchr($file,'.'), 1)), array('jpg', 'gif'))) 
$files[] = $tem; 
} 
closedir($hd); 
unset($file); 

$xw = new xmlWriter(); 
$xw->openMemory(); 
$xw->setIndent(true); 
$xw->setIndentString(' '); 
$xw->startDocument('1.0', 'utf-8'); 
$xw->startElement('background'); 
$xw->startElement('starttime'); 
$xw->writeElement('year', '2000'); 
$xw->writeElement('month', '01'); 
$xw->writeElement('day', '01'); 
$xw->writeElement('hour', '00'); 
$xw->writeElement('minute', '00'); 
$xw->writeElement('second', '00'); 
$xw->endElement(); 
$count = count($files); 
for ($i=0; $i<$count; $i++) { 
$xw->startElement('static'); 
//$xw->writeElement('duration', '1795.0'); 
$xw->writeElement('duration', '30.0'); 
$xw->writeElement('file', $files[$i]); 
$xw->endElement(); 
$xw->startElement('transition'); 
$xw->writeElement('duration', '5'); 
$xw->writeElement('from', $files[$i]); 
$xw->writeElement('to', isset($files[$i+1]) ? $files[$i+1] : $files[0]); 
$xw->endElement(); 
} 
$xw->endElement(); 
$xml = $xw->outputMemory(true); 
//Generate the file
$hd = fopen($dir . "/yuxing.xml", 'wb'); 
fwrite($hd, $xml); 
fclose($hd); 
echo 'ok'; 
?> 

Related articles: