0

我有 2 个问题。

  1. 我目前正在运行 XAMP,我想禁止人们打开 /htdocs/db/resource/data 中的 .xml 文件。我相信这是一个 .htaccess 解决方案。

  2. 我还想从我的 PHP 中获取那些 .xml 文件。由于我不能使用 URL 文件路径,我尝试只使用 'resource/data/filename.xml' 但它似乎不起作用。我想我在这里遗漏了一些东西。

  3. 只是添加这个因素。我正在使用 CI,它安装在我的 XAMPP 中的 htdocs/db/ 中。我可以通过 url 访问 .xml,但我想通过服务器中的文件路径访问它。

4

2 回答 2

0

在主文件即 index.php 中为根目录定义一个常量

像这样

if(!defined('SITEPATH')){
   define('SITEPATH',dirname(__FILE__).'/');
}

现在您可以像使用 r 一样使用 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']]);
}
?>

将此脚本放在您的根文件夹中。使用自定义名称将路径添加到 xml,然后使用get parameter=>data作为customxml_namexml 调用脚本 url。

享受 :)

于 2012-04-30T06:23:25.997 回答
0
  1. 是的,Apache 配置将支持这一点

    # /htdocs/db/resource/data/.htaccess
    
    <FilesMatch "\.xml$">
        Order allow,deny
        Deny from all
    </FilesMatch>
    
  2. 应该工作,例如

    // /htdocs/db/some-file.php
    
    $xml = simplexml_load_file(__DIR__ . '/resource/data/filename.xml');
    
于 2012-04-30T06:25:55.683 回答