用php写的生成ubuntu自动切换壁纸xml文件

很简单,看代码,运行代码后在图片目录下会生成yuxing.xml

<?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';

posted @ 2010-07-12 20:12  Yuxing  阅读(587)  评论(0编辑  收藏  举报