Php文件函数:URL或路径

Php文件函数:URL或路径,php,Php,使用file函数,使用URL或路径有什么区别吗 $my_array = file("http://www.mydomain.com/my_script.php?id=1"); $my_array = file($_SERVER['DOCUMENT_ROOT']."my_script.php?id=1"); 我使用的是第一个,但我想它取决于我的服务器internet连接,因为有时候,尽管脚本被调用,但我知道它,因为我的脚本.php在数据库中插入了一行,我没有得到响应,$my_数组为空 我说得对吗

使用file函数,使用URL或路径有什么区别吗

$my_array = file("http://www.mydomain.com/my_script.php?id=1");
$my_array = file($_SERVER['DOCUMENT_ROOT']."my_script.php?id=1");
我使用的是第一个,但我想它取决于我的服务器internet连接,因为有时候,尽管脚本被调用,但我知道它,因为我的脚本.php在数据库中插入了一行,我没有得到响应,$my_数组为空

我说得对吗

如果是这样,使用第二个调用将始终用响应填充$my_数组。不是吗

我是否可以从传递参数的路径调用文件,方法与URL相同

编辑:非常感谢你的回答,如果这个问题太愚蠢,我很抱歉。。我正在研究其他人的密码。他这样做是因为my_script.php也是从其他服务器调用的。首先,我会尝试使用$u GET变量,这有点棘手,但我不想碰我的\u script.php。

文件所做的就是读取一个文件。它旨在从磁盘加载某些内容,但支持PHP提供的任何fopen包装器,如HTTP

当您将URL传递给文件时,它将从web服务器获取该URL。您的web服务器将执行PHP并返回结果,这就是您从文件中得到的结果。不,这里的内容完全不同,主要是因为一个涉及web服务器和PHP,而另一个不涉及

不要这样做。使用require或require\u一次。

任何以http://... 将发出实际的HTTP请求。本质上,它的作用与您在浏览器中键入该URL的作用相同。如果您是在自己的服务器上为脚本执行此操作,那么这完全是胡说八道,因为:

它需要出去建立一个TCP连接,连接到它自己 它连接另一个web服务器进程 它提升了另一个单独的PHP进程 它不保留当前PHP进程的上下文 它可能根本无法返回任何内容,因为它只返回其他脚本呼应出的内容 只有当您尝试与其他远程服务器通信时,这才有意义

另一方面,在本地、非本地-http://... 文件是不可能的,因为?id=1不是文件名的有效部分,或者至少它可能不像您认为的那样

您通常想要的是:

require __DIR__ . '/foo.php';

这包括当前脚本中作为PHP代码的另一个PHP脚本。您应该定义函数和类,使用autoload加载它们并根据需要调用它们,但这是一个关于正确的代码组织的广泛主题,我在这里不赘述。

您应该提到mydomain指向您的服务器?你怎么注意到它指向我的服务器的?幸运的猜测。。。?!我不相信运气,一定是两个都投了赞成票,但选择你的,因为它更详细一点。再次谢谢你,再问一个问题,对吗?我的意思是,使用文件$url可以使脚本运行良好,但由于internet连接,没有得到响应?连接不太可能出现问题,因为您和您之间没有太多的网络,尽管这当然是可能的。服务器很可能会很忙并断开连接。我最终需要做一些其他脚本来模拟我的_script.php,但做我需要做的事情来处理响应,而不是像我的_script.php实际做的那样用回音抛出响应。。。或者重新编写一点脚本:S。你是对的,很可能是cpu过载问题,泰