1

PHPアプリケーション(動作する)を作成し、それを別のディレクトリに移動しました。その結果、その上のディレクトリからファイルを取得する必要がありますが、ファイルは非表示のままにする必要があります。

  • --config
  • ---users.xml(パーミッション600)
  • --lib
  • ---- loginUtil.php

私はファイルを取得する2つの異なる方法を試しました:

    $xml = file_get_contents("../config/users.xml");

 Which returns the following Error:

   [13-Jun-2012 08:54:04] PHP Warning:  file_get_contents(../config/users.xml) [<a href='function.file-get-contents'>function.file-get-contents</a>]: failed to open stream: No such file or directory in public_html/test/lib/loginUtil.php on line 18

    $xml = simplexml_load_file("../config/users.xml");

  which returns

    [13-Jun-2012 08:56:17] PHP Warning:  simplexml_load_file() [<a href='function.simplexml-load-file'>function.simplexml-load-file</a>]: I/O warning : failed to load external entity 

完全なURLを使用してみましたが、それは機能しますが、users.xmlファイルを公開する必要があります(PHPがURLリクエストを実行しているため)。

この問題を解決するにはどうすればよいですか?(ご協力いただきありがとうございます)

4

1 に答える 1

1

相対パスではなく、フルパスを設定してみてください

$path = '/var/full/path_dir/file.xml';

if(!is_file($path)){

  // if this is the is output then you need to check permissions 
  // double check the file exists also.
  // check the web service can read the file
  echo "FILE NOT FOUND FOR $path";
}
else{
  $xml = file_get_contents($path);
  echo $xml;
}
于 2012-06-13T15:38:24.887 に答える