繁体   English   中英

PHP Include运算符似乎无法找到php脚本

[英]PHP Include operator can't seem to find php script

我有一个奇怪的问题,继续困扰我。 我感谢你的建议....

在PHP 5.3脚本中,我使用以下代码包含另一个PHP脚本;

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

moninit.php存储为C:\\ xampp \\ htdocs \\ CarmelServices \\ moninit.php

在php.ini中,include路径是:

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

因此, include应该执行moninit.php但是我得到以下错误返回;

警告:include(moninit.php?id = 1234)[function.include]:无法打开流:第48行的C:\\ xampp \\ htdocs \\ CarmelServices \\ SensorW.php没有错误

警告:include()[function.include]:在C:\\ xampp \\ htdocs \\ CarmelServices \\ SensorW中打开'moninit.php?id = 1234'以包含(include_path ='C:\\ xampp \\ htdocs \\ CarmelServices')失败。 php在48行

如果我直接使用浏览器执行moninit.php,它可以正常工作。 所以,不知何故,包括似乎找不到moninit。 SensorW也与moninit位于同一文件夹中。

非常奇怪,至少对我而言。 谢谢!

include不执行PHP脚本; 它只将文件的内容插入当前运行的脚本中。

在您的示例中,您告诉PHP解释器查找并打开一个名为“moninit.php?id = 1234”的文件,该文件不存在。 您可能希望包含'monit.php'本身或找到另一种方式(例如cURL )来执行脚本并检索响应。

您无法使用它传递数组变量,它直接包含在您的脚本中,并将继承可用范围内的任何变量。 因此,您可以分配给数组并使用它。

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

如果您只是路由传递的参数,请不要担心 - 它们已经有效。

@GeorgeCummins的回答解释了include()工作原理。 此外,您只能传递文件的名称。 不能像你一样传递变量。 它是文件名,而不是URL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM