检查服务器上是否存在php文件


check if php file exists on server

我正在寻找一种方法来查看本地服务器上是否存在文件。我通常会使用if函数,但在这种情况下,它不是一个选项。我的问题是如何使数字2返回true。

1.返回true:

$acf_funcs = $_SERVER['DOCUMENT_ROOT'] . '/wp-content/themes/vac3/acf/page_meta/functions.php';
var_dump(file_exists($acf_funcs));

2.返回false:

$acf_funcs = 'http://vac3:8888/wp-content/themes/vac3/acf/page_meta/functions.php';
var_dump(file_exists($acf_funcs));

您不能使用file_exists--您需要使用get_headers

$headers = get_headers('http://vac3:8888/wp-content/themes/vac3/acf/page_meta/functions.php', 1);
$file_found = stristr($headers[0], '200');

要检查本地服务器文件系统,您需要从URL获取路径组件:

var_dump(file_exists($_SERVER['DOCUMENT_ROOT'] . parse_url($acf_funcs, PHP_URL_PATH)));

在上面:

parse_url($acf_funcs, PHP_URL_PATH)

返回:/wp-content/themes/vac3/acf/page_meta/functions.php和预挂起的$_SERVER['DOCUMENT_ROOT']产生的结果与第一个示例相同。

但是,这不会检查文件是否可通过http://vac3:8888获得。