php创建xml
① php生成百度移动Sitemap协议XML格式文件,其中有两个标签不知怎样加进去<mobile:mobile type="mobile"/>
打开爱站SEO工具包,找到网站地图/sitemap,点击进入登录或注册页面,如果所示1
登录之后,点击添加网站,输入网站域名www.meng10000.com,点击保存,如图所示2
点击默认分类下面的网站域名,设置基本信息和抓取更新频率后,点击抓爬,如图所示3和4
接下来等待抓爬完成或者自己手动点击停止,查看,生成XML文件,如图所示5和6
然后,打开文件目录,找到对应sitemap.xml文件和robots.txt文件,将其全部上传到网站服务器根目录下。
6
最后,打开网络站长平台,链接提交,提交sitemap地址,之后就等待网络蜘蛛抓取收录你的网站吧,如图所示。
② 如何用php生成xml文件 高手进入 有加分
可以使用php里的dom,如下:
$xmlStr=[文件位置];
$dom = new DOMDocument('1.0');
$dom ->loadXML($xmlStr);
//根
$vogue=$dom->createElement('vogue');
$dom->appendChild($vogue);
//第一级子目录
$level0=$dom->createElement('level0');
//第一级子目录的属性
$attr=$dom->createAttribute('parentTypeID');
$attr->appendChild($dom->createTextNode('-1'));
........
//保存
$dom->saveXML($xmlStr);
但是我更推荐使用print来打印后输入文件。
因为dom的输出无法分行,样例如下:
<?php
$books = array();
$books [] = array(
'title' => 'PHP Hacks',
'author' => 'Jack Herrington',
'publisher' => "O'Reilly"
);
$books [] = array(
'title' => 'Podcasting Hacks',
'author' => 'Jack Herrington',
'publisher' => "O'Reilly"
);
?>
<books>
<?php
foreach( $books as $book )
{
?>
<book>
<title><?php echo( $book['title'] ); ?></title>
<author><?php echo( $book['author'] ); ?>
</author>
<publisher><?php echo( $book['publisher'] ); ?>
</publisher>
</book>
<?php
}
?>
</books>
③ phpstorm不能新建xml类型,new一个文件时,没有xml类型选择
phpstorm 没有专门提供新建 xml 类型的菜单,但提供了一个 File 菜单项来建立通用的文件:
或者也可以自己建立一个 xml 文件的模板,即使用上面的 Edit File Templates... 菜单项。
④ 怎么用php实现自动生成站点地图的XML文件
需要做的就是新建一个地图模板,模板-增加自定义页面模板。
在浏览器里面输入:域名/sitemap.html,就能够看到网站地图了。
⑤ php怎么生成sitemap.xml
/**
*生成站点地图
*/
classsitemap{
private$sitemapFile=array();
private$oldxml=null;
private$newxml=null;
public$error=null;
publicfunction__construct($sitemapFile){
$this->sitemapFile=$sitemapFile;
if(is_file($this->sitemapFile)){
$data=file_get_contents($this->sitemapFile);
if($data){
$this->oldxml=newSimpleXMLElement($data);
}else{
$this->error='读取站点地图文件失败';
}
}else{
$this->oldxml=$this->createEmptySitemap();
}
$this->newxml=$this->createEmptySitemap();
}
(){
$str='<?xmlversion="1.0"encoding="UTF-8"?>';
$str.='<urlsetxmlns="http://www.sitemaps.org/schemas/sitemap/0.9"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"></urlset>';
returnnewSimpleXMLElement($str);
}
publicfunctionaddChilds($urlArr){
$urlArr=(array)$urlArr;
foreach($urlArras$url){
$priority=0.5;
$lastmod=date('Y-m-d');
$changefreq='weekly';
if(stripos($url,'.html')){
$priority=1;
$changefreq='monthly';
}
if($oldXmlUrl=$this->findOldXmlUrl($url)){
$priority=$oldXmlUrl->priority;
$lastmod=$oldXmlUrl->lastmod;
$changefreq=$oldXmlUrl->changefreq;
}
$rating=$this->newxml->addChild('url');
$rating->addChild('loc',$url);
$rating->addChild('priority',$priority);
$rating->addChild('lastmod',$lastmod);
$rating->addChild('changefreq',$changefreq);
}
}
publicfunctionfindOldXmlUrl($url){
$oldXmlUrl='';
foreach($this->oldxml->urlas$key=>$xmlUrl){
if($xmlUrl->loc==$url){
$oldXmlUrl=$xmlUrl;
unset($this->oldxml->url[$key]);
break;
}
}
return$oldXmlUrl;
}
publicfunctionsave(){
$data=$this->newxml->asXML();
if(file_put_contents($this->sitemapFile,$data)===false){
$this->error='写入站点地图数据失败';
returnfalse;
}
returntrue;
}
}
上面这个是我个人博客生成站点地图用的类。
客户端调用代码如下:
$sitemapFile='Sitemap.xml';
$sitemap=newsitemap($sitemapFile);
if($sitemap->error){
die($sitemap->error);
}
$newUrl=[
'http://www.kiscms.com/content/28.html'
];
$sitemap->addChilds();
if(!$sitemap->save()){
die($sitemap->error);
}
关键的问题是,你如何得到整站的url呢?
我个人博客的解决方法是写了个蜘蛛程序爬出来的。
⑥ 如何通过PHP生成和获取XML格式数据
1自己拼,XML编码
<?php
header('Content-type:text/xml');
echo "<?xml version='1.0' encoding='utf-8'>";
echo "<book>";
echo "<PHP>";
echo "<name>PHP程序开发范例宝典</name>";
echo "<price 单位='元/本'>89.00</price>";
echo "<date>2007-09-01</date>";
echo "</PHP>";
echo "</book>";
?>
拼接的效果
⑦ 如何用PHP生成XML
代码
--
参考
//
linux
如
/var/www/images
//
windows
如
E:/www/images
//含有图片的文件目录
$dir
=
'/var/www/images';
echo
"<?xml
version=\"1.0\"
encoding=\"utf-8\"?>\n<photos>\n";
foreach(glob($dir."/{*.jpeg,*.jpg,*.gif}",
GLOB_BRACE)
as
$filename){
$imgArr
=
explode('/',
$filename);
$imgfile
=
array_pop($imgArr);
echo
"<photo
desc=\"{$imgfile}\"
url=\"_pics/{$imgfile}\"
/>\n";
}
echo
"</photos>\n";
执行结果(linux命令行下),浏览器执行,查看源文件才可以看到结果代码
<?xml
version="1.0"
encoding="utf-8"?>
<photos>
<photo
desc="attachment.gif"
url="_pics/attachment.gif"
/>
<photo
desc="close.gif"
url="_pics/close.gif"
/>
<photo
desc="del.gif"
url="_pics/del.gif"
/>
<photo
desc="download.gif"
url="_pics/download.gif"
/>
<photo
desc="loading.gif"
url="_pics/loading.gif"
/>
<photo
desc="loading_animation.gif"
url="_pics/loading_animation.gif"
/>
<photo
desc="menuarrow.gif"
url="_pics/menuarrow.gif"
/>
<photo
desc="next.gif"
url="_pics/next.gif"
/>
<photo
desc="nodownload.gif"
url="_pics/nodownload.gif"
/>
<photo
desc="nopic.gif"
url="_pics/nopic.gif"
/>
<photo
desc="novideo.gif"
url="_pics/novideo.gif"
/>
<photo
desc="page_delete.gif"
url="_pics/page_delete.gif"
/>
<photo
desc="page_edit.gif"
url="_pics/page_edit.gif"
/>
<photo
desc="page_list.gif"
url="_pics/page_list.gif"
/>
<photo
desc="page_list_no.gif"
url="_pics/page_list_no.gif"
/>
<photo
desc="pre.gif"
url="_pics/pre.gif"
/>
<photo
desc="status0.gif"
url="_pics/status0.gif"
/>
<photo
desc="status1.gif"
url="_pics/status1.gif"
/>
<photo
desc="video.gif"
url="_pics/video.gif"
/>
</photos>
⑧ 如何用php创建xml文件,并保存在硬盘上
$content='<?xml version="1.0" encoding="UTF-8" ?><album name="我的照片集" path="images/">';
然后有循环如:
<?php foreach($array as $value){?>
$content .='<photo><title><?=$value['title']?></title>
<text><?=$value['text']?></text>
<pic><?=$value['pic']?></pic>
</photo>';
<?php }?>
$content.="</album> ";
$fp=fopen("images.xml","w+");
fwrite($fp,$content);
fclose($fp);
⑨ php创建XML文档出现警告:Input is not proper UTF-8, indicate encoding !
<?xml version=\"1.0\" encoding=\"UTF-8\"?> 可以不用。loadxml是一种对xml进行简单解析的方法。
另外你的loadxml.php以什么方式保存的? 是utf-8 without bom吗?记得不要用ansi的,特别是当你想用utf-8来进行网站设计的时候。可以用记事本打开另存为utf-8
⑩ 如何用PHP生成XML
$sql = "查询数据库文件";
$query = mysql_query($sql);
echo "<?xml version='1.0' encoding='utf-8' ?>";
echo "<photos>";
while(@$result = mysql_fetch_array($query)){
echo "<photo desc='$result[文件名字段]' url='_pics/$result[文件名字段]' />";
}
echo "</photos>";
--------------------------------------------------------
$this->_delImage('/_pics');
function _delImage($path){
if(is_dir($path)){
$dp=dir($path);
while($file=$dp->read())
if($file!='.'&&$file!='..'){
$this->_delImage($path.'/'.$file);
}
$dp->close();
}
echo "<photo desc='$path' url='$path' />";
}
可能有出入 自己看着修改
PS:我才昏呢 读取数据库比读文件夹方便好不好。