PHP文件存在
使用PHP,我需要确定文件是否存在 我尝试了file_exists(),但权限有限,我不相信PHP可以读取文件权限。该文件是一张照片,可以通过URL查看 例如: 我已经尝试过is_readable(),但所有结果都是它不存在 我还通过index.php中的函数来测试我是否正确使用了它们,并且通过index.php它们返回了正确的预期结果 是否有一个不同的PHP函数,我可以用来测试一个文件存在的机会或技巧PHP文件存在,php,file,file-exists,Php,File,File Exists,使用PHP,我需要确定文件是否存在 我尝试了file_exists(),但权限有限,我不相信PHP可以读取文件权限。该文件是一张照片,可以通过URL查看 例如: 我已经尝试过is_readable(),但所有结果都是它不存在 我还通过index.php中的函数来测试我是否正确使用了它们,并且通过index.php它们返回了正确的预期结果 是否有一个不同的PHP函数,我可以用来测试一个文件存在的机会或技巧 谢谢…我想你可以使用文件获取内容。失败时返回false,成功时返回文件内容:如果您试图检查本
谢谢…我想你可以使用文件获取内容。失败时返回false,成功时返回文件内容:如果您试图检查本地文件:
file\u exists()
函数对于由于安全模式限制而无法访问的文件返回FALSE。所以试试看
这:
看。简短:文件_exists将仅在您的服务器上检查,它不用于检查URL。您可以使用curl等并检查标题
文件规定:
从PHP5.0.0开始,这个函数也可以与一些URL包装器一起使用。请参阅受支持的协议/包装器列表,了解哪些包装器支持stat()系列功能
这仅仅意味着它可以工作,但通常不会。如果PHP没有读取文件的权限,您将无法通过file_exists()或is_readable()检查文件是否存在,因为这些函数依赖于是否能够在服务器上本地访问文件 唯一可行的解决方案是使用HTTP请求检查文件是否存在 Alex使用file_get_contents()的解决方案是一种方法,但您必须检查
allow\u url\u fopen=true
在php.ini中,所以
文件获取内容(“http://www.seemeagain.com/users/1000002722/gallery_1312973080.jpg“”
允许从HTTP()检索数据
只要您的文件可以通过浏览器读取,您就可以检查文件是否存在,但您仍然需要下载整个文件,这会产生大量的流量开销并需要时间
我的建议是使用
<?
$headers = get_headers("http://www.seemeagain.com/users/1000002722/gallery_1312973080.jpg");
if ($headers[0] == "HTTP/1.1 200 OK")
{
// Your file does exist
}
elseif($headers[0] == "HTTP/1.1 404 Not Found")
{
// Your file does not exist
}
else
{
// Some other headers...
highlight_string(print_r($headers,1));
}
?>
您应该使用该功能,但我猜您用错了。它是否显示警告(以及是否启用警告显示)?如果您在本地没有该文件的权限,则可以测试URL是否存在。您是在尝试检查本地文件还是外部文件?如果文件\u存在失败,则权限是问题,这肯定会失败。更重要的是,op建议他正在测试外部URL,据我所知,文件_的存在只能用于具有绝对路径的本地文件。如果要将变量传递给shell,请使用escapeshellarg()
,以避免麻烦。
<?
$headers = get_headers("http://www.seemeagain.com/users/1000002722/gallery_1312973080.jpg");
if ($headers[0] == "HTTP/1.1 200 OK")
{
// Your file does exist
}
elseif($headers[0] == "HTTP/1.1 404 Not Found")
{
// Your file does not exist
}
else
{
// Some other headers...
highlight_string(print_r($headers,1));
}
?>