2012-01-24 4 views
0

私は奇妙な問題を抱えています。あなたのアドバイスに感謝します....PHPを含む演算子はPHPスクリプトを見つけることができないようです

PHP 5.3スクリプトでは、次のコードを使用して別のPHPスクリプトを追加しています。

include 'moninit.php?id=1234'; // initialize array variables 

moninit.phpはCとして格納されている:\ XAMPP \ htdocsに\ CarmelServices \

moninit.php php.iniのインクルードパスを含むある:だから

include_path = "C:\xampp\htdocs\CarmelServices" 

includeはすべきmoninit.phpを実行しますが、次のエラーが返されます。

警告: オープンストリームに失敗しました:(?moninit.php ID = 1234)[function.include】含むCでエラーなし:\ XAMPP \ htdocsに\ CarmelServices \ SensorW.php

ライン48上

警告:は、()[function.include]:失敗開口 'moninit.php ID = 1234?' 包含 ため(のinclude_path = 'C:\ XAMPP \ htdocsに\ CarmelServices') Cで:\ XAMPP \ htdocs \ CarmelServices \ SensorW.php 48行目

私がmoを実行するとブラウザを使用して直接ninit.php、それは正常に動作します。だから、どういうわけか、インクルード・カントはモニニットを見つけるように見える。 SensorWはmoninitと同じフォルダにもあります。

少なくとも私にとっては非常に奇妙です。ありがとう!

答えて

1

include PHPスクリプトは実行されません。現在実行中のスクリプトにファイルの内容を挿入するだけです。

あなたの例では、存在しない 'moninit.php?id = 1234'という名前のファイルを検索して開くようにPHPインタプリタに指示しています。スクリプトを実行して応答を取得するには、 'monit.php'をインクルードするか、別の方法(cURLなど)を探してください。

+0

George、Brilliant!意味をなさないid =部分を再構成します。どうもありがとうございました。 Al – Kovalick

1

配列変数を渡すことはできません。スクリプトに直接含まれており、使用可能なスコープ内の変数を継承します。したがって、配列に代入して代わりに使用することができます。

$data = array('id' => '1234'); 
include 'moninit.php'; // In moninit.php, use $data instead 

渡されたパラメータをルーティングするだけであれば、すでに動作していることを心配しないでください。

+0

素晴らしいアドバイスありがとう!非常に高く評価され、理解されています。アル – Kovalick

0

@GeorgeCumminsの答えは、include()の仕組みについて説明しています。また、ファイルの名前だけを渡すこともできます。あなたはできませんあなたがやっているように変数を渡すことはできません。これはURLではなくファイル名です。

関連する問題