我有两个文件夹图片和带照片的大图片。
我想生成一个包含两个属性的XML文件:
<images>
<image source="images/image1" lightbox="bigimages/image1" />
.....
</images>
我有这样的事情:
<?php
// enter the path to the folder
$path = "images/";
// opendir
$dir_handle = @opendir($path) or die("Unable to open $path");
// table photos
$filetypes = array("jpg", "png");
// forming xml
$doc = new DomDocument('1.0');
$doc->formatOutput = true;
// forming images
$root = $doc->createElement('images');
$root = $doc->appendChild($root);
while ($file = readdir($dir_handle)) {
$file = rawurlencode($file);
$split = explode(".", $file);
$ext = strtolower($split[count($split)-1]);
if (in_array($ext, $filetypes)) {
// additional image
$item = $doc->createElement("image");
$item = $root->appendChild($item);
$file = $path.$file;
// adding an attribute source
$item->setAttribute('source', $file);
}
}
// closure
closedir($dir_handle);
// Save to XML
$doc->save("plik.xml");
echo "plik xml wygenerowany poprawnie!!!";
?>
现在的问题是如何在“bigimages”目录中添加带路径的第二个属性。
答案 0 :(得分:1)
这应该这样做:
$big_image = 'bigimages/' . basename($file);
if (file_exists($big_image)) {
$item->setAttribute('source', $big_image);
}
另请参阅:basename()