为什么file_get_contents()无法在没有协议的情况下打开文件系统?

时间:2016-04-25 19:23:04

标签: php

我有一个root用户脚本,我试图通过file_get_contents()打开它。

这有效:

file_get_contents('http://localhost/folder1/folder2/script.php?param=sth');

但这不起作用:

file_get_contents('../folder1/folder2/script.php?param=sth');

怎么了?如何在不编写协议的情况下访问文件系统脚本?

注意:在非协议路径的开头使用__DIR__无效。因为__DIR__与此类似,所以无效:

C:\xampp\htdocs\folder ...

1 个答案:

答案 0 :(得分:3)

如果没有协议,则将参数视为本地路径名。 git config --global user.name = "myusername" git config --global user.name = "mypassword" 在Windows路径名中没有特殊含义,因此它正在查找名称为?的文件,但找不到它。

此外,访问本地文件时,它只是读取内容。脚本没有执行,你只需要获取脚本源代码。如果要执行脚本,则需要通过Web服务器。