douye9822 2012-12-03 23:12
浏览 62
已采纳

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

I've got two folders images and big images with photos.

I want to generate an XML file with two attributes like this :

<images>
    <image source="images/image1" lightbox="bigimages/image1" />
    .....
</images>

I have something like this :

<?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!!!";
?>

And now the question is how to add second attribute with path to images from "bigimages" directory.

  • 写回答

1条回答 默认 最新

  • drkj41932 2012-12-03 23:17
    关注

    This should do it:

    $big_image = 'bigimages/' . basename($file);
    
    if (file_exists($big_image)) {
        $item->setAttribute('source', $big_image);
    }
    

    See also: basename()

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 关于#opencv#的问题:使用大疆无人机拍摄水稻田间图像,拼接成tif图片,用什么方法可以识别并框选出水稻作物行
  • ¥15 Python卡尔曼滤波融合
  • ¥20 iOS绕地区网络检测
  • ¥15 python验证码滑块图像识别
  • ¥15 根据背景及设计要求撰写设计报告
  • ¥20 能提供一下思路或者代码吗
  • ¥15 用twincat控制!
  • ¥15 请问一下这个运行结果是怎么来的
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1