用PHP如何将指定目录下所有文件路径和文件名写入一个XML文件里

用PHP如何将指定目录下所有文件路径和文件名写入一个XML文件里,第1张

<?php

$imgdir = '你存放图片的文件夹'

$logfile = '你要写入的文件名'

$submit = $_POST['submit']

if($submit == 'write'){

include('lib/write.class.php')

$wt = new writeTo()

$wt->while($imgdir,$logfile)

}

?>

<input type = 'submit' name = 'submit' value = 'write'>

这个是前提文件

下面的是类文件

<?php

class writeTo{

function isjpg($filename){

/*

用来判断是否是 .jpg结尾的文件 由于本机器无JPG 所以使用PHP

代替了JPG 你自己使用的时候请自行替换

*/

if(preg_match('/\.php$/',$filename)){

return true

}

false

}

function listjpg($dir){//查看文件夹内的所有JPG文件名并存入数组

$arr = array()

if(is_dir($dir)){

$dp=dir($dir)

while($file=$dp->read()){

if($this->isjpg($file)){

$arr[substr($file,0,(strlen($file)-4))] = $file

}

}

}

$dp->close()

return $arr

}

function write($dir,$filename){//利用前面生成的数字重写文件

if($link = fopen($filename,'w+')){

//由于使用W+所以如果存在该文件请给予读写权限 如不存在则程序自动建立

$str = "<?xml version='1.0' encoding='utf-8'?>\n"

$str .= " <path>\n"

$arr = $this->listjpg($dir)

foreach($arr as $key =>$v){

$str .= " <url info=".$key.">pic/".$v."</url>\n"

}

$str .= " <\path>\n"

if(fwrite($link,$str)){

fclose($link)

return true

}

return false

}

return false

}

}

不是写入到文件夹,还是写入到文件吧?下面是例子:

$file="cuangs.xml"//定义文件名

$xml.='xml内容'//xml内容

$fp=fopen($file,"w+")//打开文件

fwrite($fp,$xml)//写入文件

fclose($fp)//关闭文件

我的思路是,直接使用动态的xml,让flash读取这个文档,这样就不用实时的去生成xml文件了。当然,这个xml文件是.php格式的,所以你必须在flash中吧读取的文件地址改成php的,就跟你写一个php页面一样,不同的是这个php文件输出的内容是一个xml格式的文本。

比如你现在建立文件 xml.php

<?php

echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>

<gallery>

<settings>"

//若此处也有动态信息 按需要进行调用

echo"</settings>

<items>"

//在此循环你的图片数据

$data = ??

while( $data ) {

echo "<item source=\"".$data['source']."\" description=\"".$data['description']."\" />"

}

echo '</items>'

?>


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/8045470.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存