我有两个问题。
我目前正在运行XAMP,我想禁止人们在/ htdocs / db / resource / data中打开.xml文件。我相信这是一个.htaccess解决方案。
我也想从我的PHP那些.xml文件。由于我不能使用URL文件路径,我尝试使用'resource / data / filename.xml'但它似乎不起作用。我想我在这里遗漏了一些东西。
只是添加,如果这个因素。我使用CI,它安装在我的XAMPP中的htdocs / db /。我可以通过url访问.xml,但我想通过服务器中的文件路径访问它。
答案 0 :(得分:0)
为主文件中的根目录定义一个常量,即index.php
像这样if(!defined('SITEPATH')){
define('SITEPATH',dirname(__FILE__).'/');
}
现在你可以像使用url一样使用它来获取任何文件。
享受
修改强>
<?php
$xmls = array(
'customxml_name1' => 'RelativePath1',
'customxml_name2' => 'RelativePath2',
);
if(isset($_GET['data'])&&!empty($_GET['data'])){
echo file_get_contents(dirname(__FILE__).'/'.$xmls[$_GET['data']]);
}
?>
将此脚本放在根文件夹中。使用自定义名称将路径添加到xmls,然后使用get parameter
=&gt;调用脚本网址。 data
作为xml的customxml_name
。
享受:)
答案 1 :(得分:0)
是的,Apache配置将支持此
# /htdocs/db/resource/data/.htaccess
<FilesMatch "\.xml$">
Order allow,deny
Deny from all
</FilesMatch>
应该有效,例如
// /htdocs/db/some-file.php
$xml = simplexml_load_file(__DIR__ . '/resource/data/filename.xml');