Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用php编辑xml文件(站点地图)!_Php_Xml - Fatal编程技术网

用php编辑xml文件(站点地图)!

用php编辑xml文件(站点地图)!,php,xml,Php,Xml,我需要制作一个脚本,每当在我的站点上创建新广告(使用php和mysql对站点进行分类)时,它会自动增加一个xml站点地图(供搜索引擎使用) 我一直在研究如何自动增加xml站点地图。每个站点地图最多可以包含50000条URL记录 此外,每当用户删除他们的广告(例如在出售商品之后),我也需要在站点地图中删除这个URL 我已经有了一个脚本,可以从我的数据库生成xml站点地图,但是,每次用户发布广告时,它都会覆盖xml站点地图并创建所有内容 甚至可以在这个级别用PHP编辑xml文件吗? 例如,如果我可以

我需要制作一个脚本,每当在我的站点上创建新广告(使用php和mysql对站点进行分类)时,它会自动增加一个xml站点地图(供搜索引擎使用)

我一直在研究如何自动增加xml站点地图。每个站点地图最多可以包含50000条URL记录

此外,每当用户删除他们的广告(例如在出售商品之后),我也需要在站点地图中删除这个URL

我已经有了一个脚本,可以从我的数据库生成xml站点地图,但是,每次用户发布广告时,它都会覆盖xml站点地图并创建所有内容

甚至可以在这个级别用PHP编辑xml文件吗? 例如,如果我可以读取xml文件中有多少行,我就知道在哪里设置限制(50000)并创建一个新的限制。 此外,如果我可以阅读xml文件并搜索行,我还可以删除广告

但这可能吗

欢迎使用代码片段或什么方法

谢谢

您只需使用打开站点地图,然后执行以下操作:

  • 迭代元素
  • 如果找到该元素,请更新它(url、上次更改等)
  • 如果你找不到它,就附加它
  • 当然,对于多个站点地图的情况,必须进行一些修改。此外,还可以使用一些XPath来搜索文件。但是,请注意,执行这种XML工作可能非常慢


    因此,我认为你应该考虑定期刷新你的站点地图的可能性(比如每12、24小时),因为搜索引擎会非常少地获取你的站点地图。

    考虑每次添加或删除广告时添加或删除该文件的开销,我会坚持使用您现有的脚本(从头开始重建站点地图),并将其设置为每晚运行一次,比如午夜。你不会输,因为搜索引擎每天最多只能获取一次你的网站地图。

    有趣。。。告诉我,我是否需要在每次更新网站地图时将其提交给谷歌?或者一次就足够了,谷歌会自动更新吗?提交一次网站地图就可以了。然后谷歌将定期获取站点地图以保持同步。谷歌实际上会尝试检测一个站点地图,即使它没有提交,就像它会抓取网页,不管它们是否在站点地图中。另外,一些站点地图生成器在robots.txt文件库中添加了一个指向站点地图的链接,但是如果你提交它,谷歌会发现它会更快。此外,您还可以通过谷歌网站管理员工具查看一些不错的统计数据并进行一些调试。但这与问题无关;与此相关的是,无论你多久重新生成一次你的网站地图,谷歌都只会按照自己的速度获取。下面的问题与上面的问题相同:我是否需要在每次更新网站地图时都将其提交给谷歌?或者一次就足够了,谷歌会自动更新吗?