通过PHP从目录中的文件生成XML

时间:2012-12-03 23:12:20

标签: php xml directory

我有两个文件夹图片和带照片的大图片。

我想生成一个包含两个属性的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”目录中添加带路径的第二个属性。

1 个答案:

答案 0 :(得分:1)

这应该这样做:

$big_image = 'bigimages/' . basename($file);

if (file_exists($big_image)) {
    $item->setAttribute('source', $big_image);
}

另请参阅:basename()