php - 无法使用 simplexml_load_file 进入目录

标签 php simplexml

所以我不太确定为什么我的代码不起作用,但这是我得到的错误:

Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "../../setting.xml" in /home1/sk8ermid/public_html/MVP/themes/SDS-2013/home.php on line 3

这是我使用的代码:

<?php 

$settings = simplexml_load_file('../../setting.xml');
$site_title = $settings->title;

?>

我正在尝试进入“settings.xml”文件所在的两个目录。我这样做的方式是否正确,还是有其他方法可以做到这一点?

最佳答案

试试这个

$settings = simplexml_load_file(__DIR__ . '/../../setting.xml');

始终牢记 .(CWD)是任何 include/require 树根目录下的 PHP 脚本目录并且仅当您配置的 include_path 实际包含 . 时(默认情况下会这样做,但可以在代码中更改)。

如果您的 home.php 脚本包含在不同目录中的另一个脚本中,则 . 是相对于该其他脚本的。

使用 __DIR__ 确保您始终从当前脚本的父目录开始。

参见 http://php.net/manual/language.constants.predefined.php

关于php - 无法使用 simplexml_load_file 进入目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19992411/

相关文章:

php - 简单 XML - 处理节点中的冒号

PHP - MSSQL 从存储过程获取结果

php - 如何使用 PHP 登录 Youtube?

php - 尝试设置超链接时收到的错误

c# - 是否可以不断地动态混合音轨并将结果传输到浏览器?

php - 使用 PHP 检索 XML 节点的子集

php - 从 Soap Response PHP 获取属性值

php - PHP 的 DOM 和 SimpleXML 扩展之间有什么区别?

php - 使用 volley 搜索 MySQL 数据库

php - 如何使用 PHPUnit 模拟 SimpleXMLElement 对象?