生成ubuntu自动切换壁纸xml文件的php代码

复制代码 代码如下:

  <?php

  /*

  * 生成ubuntu自动切换壁纸xml文件

  */

  //图片目录

  $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);

  //生成文件

  $hd = fopen($dir . "/yuxing.xml", 'wb');

  fwrite($hd, $xml);

  fclose($hd);

  echo 'ok';

  ?>