我正在寻找一种方法来查看本地服务器上是否存在文件。我通常会使用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
获得。