2012-04-30 2 views
0

У меня есть 2 вопроса.Доступ к файлам с использованием пути к серверу не URL

  1. Я в настоящее время работает XAMP, и я хочу, чтобы запретить людям быть в состоянии открыть XML-файлы в/HTDOCS/дб/ресурсов/данных. Я считаю, что это решение .htaccess.

  2. Я также хочу, чтобы эти .xml-файлы с моего PHP. Поскольку я не могу использовать путь к URL-адресу, я попытался использовать «resource/data/filename.xml», но он не работает. Я думаю, что здесь что-то не хватает.

  3. Просто добавьте эти факторы. Я использую CI, и он установлен в htdocs/db/в моем XAMPP. Я могу получить доступ к .xml через url, но я хотел бы получить к нему доступ через путь к файлу на сервере.

ответ

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'); 
    
+0

Мне любопытно о нисходящем. Позаботьтесь о компромиссе, загадочный спутник? – Phil

0

Определение константы для корневого каталога в главном файле, т.е. index.php

как этот

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

теперь вы можете пойти на любой файл, как же, как и при использовании его как ваш r используя url.

пользуются

EDIT:

<?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 с их собственными именами, затем вызовите URL-адрес сценария с get parameter =>data как customxml_name xml.

Наслаждайтесь :)

+0

Я проходил мимо этого на javascript, который откроет мой путь к файлу. Это будет нормально? –

+0

lol, вы должны были указать требование javascript в вопросе. НЕТ это поддерживается только для сценариев на стороне сервера. Для JS доступен только метод url. Или вы можете использовать скрипт по URL-адресу, который вызывает ваши файлы xml, как указано в сценарии –

+0

@mra: если вы хотите знать, как реализовать этот сценарий, не стесняйтесь комментировать –

Смежные вопросы