如果是某一类文件的话可以改apache设置。如果是某一个文件的话就改linux权限。

解决方案 »

  1.   

    目前的条件是:虚拟空间,没有http以外的空间管理权,主机可以是windows或者linux
    请问还有办法吗?
      

  2.   

    有这样要求的大多数是配置文件, 如果是这样的话可将该类文件扩展名改为 .php, 首行加一句 die(); 程序读取配置的时候跳过 die() 这行.如果是程序生成的 cache 文件等等, 可以用 32 位 hash 文件名, 这样用户一般无法猜测到文件名, 当然也访问不了.不知道你的需要是什么, 你应该说详细一点.
      

  3.   

    主要是一些用于保存用户客户端UI设置的XML文件。如果是linux下修改文件权限,是不是会连php也无法访问?
      

  4.   

    hash 文件名吧~ 仿佛这样最好了.你没有主机的控制权
      

  5.   

    xml不一定要用xml做文件名的嘛,你可以用
    <?exit();?>
    <!--
    下面为真正的xml
    -->然后保存为xxx.php
    读出来的时候把 <?exit();?> 去除
      

  6.   

    ddboy 的 exit(); 方法可行.另外还有一种方法思路差不多但不用 exit(); 看下面示范文件 data.xml.php<?phpreturn <<<EOF<xml version=1.0>
    <data>
    ....
    </data>EOF?>读取数据的时候直接 $data = require_once("data.xml.php");
    $data 就是包含整个 xml 数据的字符串了. 这样不用考虑 fseek 之类的问题.
      

  7.   

    好久没用过 PHP, 不知道语法有没错误 .. (忘了能不能直接 return <<<EOF, 还是要先赋值变量再 return 变量)