別のスクリプトを使用してアクセスしたいファイルがありますfile_get_contents
アクセスしたいファイルはその上のディレクトリにあるので、使用していますfile_get_contents('../file.php?this=that')
しかし、戻ってきNo such file or directory
て、理由がわかりません。ファイルはそこにあります。
リモートではなくローカルファイルであることに関係があると思います。アイデアや回避策はありますか?
別のスクリプトを使用してアクセスしたいファイルがありますfile_get_contents
アクセスしたいファイルはその上のディレクトリにあるので、使用していますfile_get_contents('../file.php?this=that')
しかし、戻ってきNo such file or directory
て、理由がわかりません。ファイルはそこにあります。
リモートではなくローカルファイルであることに関係があると思います。アイデアや回避策はありますか?
file_get_contents('../file.php?this=that')
http://....
構文全体で完全な URL を作成しない限り、これは機能しません。file.php?this=that
PHP はこれを、現在のディレクトリの 1 レベル上の名前のファイルを取得する要求として認識します。相対 URL として扱わず、HTTP 要求を実行しません。代わりに、ローカル ファイルシステム ハンドラーを使用します。そこにあるかもしれませんが、ローカル ファイル システムには URL やクエリ パラメータの概念がないため、 を取り除いてをロードするだけでfile.php
はわかりません。したがって、「そのようなファイルエラーはありません」。?this=that
file.php
PHP.net によると、ローカル サーバーから file_get_contents 関数を使用してファイルを読み取る正しい解決策は、
// <= PHP 5
$file = file_get_contents('./people.txt', true);
// > PHP 5
$file = file_get_contents('./people.txt', FILE_USE_INCLUDE_PATH);
回避策を使用する代わりに役立つかもしれないと思った!
その場所にファイルはありません。
適切なパスを使用する必要があります。
まず最初に、echo getcwd();
現在のディレクトリ (そこから相対パスが構築されている) を確認するために a を実行します。
次に、このディレクトリに関連する file.php の場所を再確認します。
ファイル名の大文字と小文字を確認してください。機密情報である可能性があります。
この関数で php ファイルを開く理由を教えてください。
さて、答え:
$your_var = 1;
include('../file.php');
I went ahead and used a few $_SERVER variables, combining them together to get the full URL and used it in file_get_contents
:
file_get_contents('http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['SCRIPT_NAME']) . '/../file.php?this=that');
That did the trick. Thanks for the help everyone.
このように使用してください....
$string1=file_get_contents("c:/rose1/ram.txt"); echo $string1;
また
$lines = file_get_contents('http://www.example.com/');
ですかgetcwd() == dirname(__FILE__)
?
かつて、相対パスを使用すると、一部の共有ホストで常にエラーがスローされるという問題に遭遇しました。基本パスとして使用する絶対パスを使用dirname(__FILE__)
することになり(ブートストラップで定数を設定し、その定数を基本パス値として使用する)、すべて正常に機能しました。問題をこれ以上掘り下げることはしませんでしたが、同じ問題に遭遇している可能性があります。私はここで推測しています。