当检查的
文件是本地时用php自带的file_exists检查就行了,而此
函数只能检查本地的函数
是否存在,所以如果要检查远程的文件是否存在只能用其它的方法了。如果所服务器中php的配置开启了“allow_url_fopen = On”,即允许远端访问,那么也很简单,其实这个是php.ini中默认开启的,用fopen函数判断就行了,能打开说明存在如果allow_url_fopen = Off那么可以用socket通讯来解决下面写的一个通用函数my_file_exists来检查文件是否存在function my_file_exists($file){if(preg_match('/^http:\/\//',$file)){//远程文件if(ini_get('allow_url_fopen')){if(@fopen($file,'r')) return true}else{$parseurl=parse_url($file)$host=$parseurl['host']$path=$parseurl['path']$fp=fsockopen($host,80, $errno, $errstr, 10)if(!$fp)return falsefputs($fp,GET {$path} HTTP/1.1 \r\nhost:{$host}\r\n\r\n)现在就可以调用此函数来检查文件的存在性,而不用去考虑是远程还是本地文件,或者是否禁用了allow_url_openphp判断文件夹是否存在用到的工具:notepad++,代码如下:
1
2
3
4
5
6
7
function mkdirs($a1, $mode = 0777)
{
if (is_dir($a1) || @mkdir($al, $mode)) return TRUE
if (!mkdirs(dirname($a1), $mode)) return FALSE
return @mkdir($a1, $mode)
}
mkdirs("a1")
说明:程序判断a1这个目录是否存在,如果存在就返回真,如果不存在就创建a1目录,默认给与读写和执行的权限。
注意事项:777权限适用于linux环境。
评论列表(0条)