浅析is_writable的php实现
编程学习 2021-07-05 09:49www.dzhlxh.cn编程入门
本篇文章是对is_writable的php实现方法进行了详细的分析介绍,需要的朋友参考下
以下函数可用于替换php内置的is_writable函数
//可用于替换php内置的is_writable函数
function isWritable($filename){
if(preg_match('/\/$/',$filename)){
$tmp_file=sprintf('%s%s.tmp',$filename,uniqid(mt_rand()));
return isWritable($tmp_file);
}
if(file_exists($filename)){
//文件已经存在的话,使用读写方式打开
$fp=@fopen($filename,'r+');
if($fp){
fclose($fp);
return true;
}
else{
return false;
}
}
else{
$fp=@fopen($filename,'w');
if($fp){
fclose($fp);
unlink($filename);
return true;
}
else{
return false;
}
}
}
代码如下:
//可用于替换php内置的is_writable函数
function isWritable($filename){
if(preg_match('/\/$/',$filename)){
$tmp_file=sprintf('%s%s.tmp',$filename,uniqid(mt_rand()));
return isWritable($tmp_file);
}
if(file_exists($filename)){
//文件已经存在的话,使用读写方式打开
$fp=@fopen($filename,'r+');
if($fp){
fclose($fp);
return true;
}
else{
return false;
}
}
else{
$fp=@fopen($filename,'w');
if($fp){
fclose($fp);
unlink($filename);
return true;
}
else{
return false;
}
}
}