读取文件夹中的文件名并使用PHP将它们存储在XML中?

读取文件夹中的文件名并使用PHP将它们存储在XML中?

问题描述:

我想知道如何编写PHP代码从特定文件夹读取文件名并将提取的文件名保存在XML文档中?读取文件夹中的文件名并使用PHP将它们存储在XML中?

其中任何部分的例子将高度赞赏。

感谢

+0

感谢您的帮助。 – 2010-01-27 10:08:07

修改在readdir()手动了一下发现的代码示例,你就大功告成了!像这样的东西可以工作:

<?php 
$out="<FileList>\n"; 
if ($handle = opendir('.')) { 
    while (false !== ($file = readdir($handle))) { 
     if ($file != "." && $file != "..") { 
      $out.='<file>'.$file."</file>\n"; 
     } 
    } 
    closedir($handle); 
} 
$out.='</FileList>'; 
file_put_contents("./outfile.xml",$out); 
?> 

开始查看glob()阅读目录的文件名。通过数组操作来处理自己,然后查看文件操作函数:file_put_contents

我会推荐使用SimpleXML,而不是手工操作XML。当用户在文件名中使用特殊字符时,您不希望系统窒息。

$out = simplexml_load_string('<files />'); 

$DI = new DirectoryIterator('/path/to/dir'); 
foreach ($DI as $file) 
{ 
    if ($file->isFile()) 
    { 
     $out->addChild('file', $file->getFilename()); 
    } 
} 

$out->asXML('files.xml'); 
+1

是的!串联的XML是最糟糕的。 – 2010-01-26 17:15:50

+1

'isDot'不会忽略目录。 'isFile'将是一个更好的检查。 – Gordon 2010-01-26 17:36:42

+0

是的,我没有意识到OP会想要省略目录,但它是有道理的。 – 2010-01-26 17:58:22