浅析is_writable的php实现


Posted in PHP onJune 18, 2013

以下函数可用于替换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 相关文章推荐
实现树状结构的两种方法
Oct 09 PHP
海河写的 Discuz论坛帖子调用js的php代码
Aug 23 PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
May 09 PHP
深入理解PHP中的Streams工具
Jul 03 PHP
PHP常用函数总结(180多个)
Dec 25 PHP
PHP实现的DES加密解密封装类完整实例
Apr 29 PHP
PHP回调函数与匿名函数实例详解
Aug 16 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
PHP使Laravel为JSON REST API返回自定义错误的问题
Oct 16 PHP
在laravel中实现将查询的对象转换为多维数组的函数
Oct 21 PHP
PHP基于ip2long实现IP转换整形
Dec 11 PHP
解析mysql left( right ) join使用on与where筛选的差异
Jun 18 #PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
Jun 18 #PHP
编译php 5.2.14+fpm+memcached(具体操作详解)
Jun 18 #PHP
解析PHP实现多进程并行执行脚本
Jun 18 #PHP
PHP实现多进程并行操作的详解(可做守护进程)
Jun 18 #PHP
解析php中static,const与define的使用区别
Jun 18 #PHP
解析htaccess伪静态的规则
Jun 18 #PHP
You might like
linux环境apache多端口配置虚拟主机的方法深入介绍
2013/06/09 PHP
PHP常用的三种设计模式汇总
2016/08/28 PHP
json对象转字符串如何实现
2012/12/02 Javascript
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
javascript中interval与setTimeOut的区别示例介绍
2014/03/14 Javascript
jquery右下角自动弹出可关闭的广告层
2015/05/08 Javascript
JS实现的简洁纵向滑动菜单(滑动门)效果
2015/10/19 Javascript
理解Javascript的call、apply
2015/12/16 Javascript
JavaScript实现瀑布流布局
2020/06/28 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
2017/04/23 Javascript
手动用webpack搭建第一个ReactApp的示例
2018/04/11 Javascript
使用jquery的cookie实现登录页记住用户名和密码的方法
2019/03/13 jQuery
javascript创建元素和删除元素实例小结
2019/06/19 Javascript
通过图带你深入了解vue的响应式原理
2019/06/21 Javascript
JS实现点击发送验证码 xx秒后重新发送功能
2019/07/30 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
2020/10/17 Javascript
vscode自定义vue模板的实现
2021/01/27 Vue.js
python字典排序实例详解
2015/05/20 Python
pyqt 多窗口之间的相互调用方法
2019/06/19 Python
python Popen 获取输出,等待运行完成示例
2019/12/30 Python
Python requests设置代理的方法步骤
2020/02/23 Python
Python读写操作csv和excle文件代码实例
2020/03/16 Python
Python PyQt5模块实现窗口GUI界面代码实例
2020/05/12 Python
python Matplotlib基础--如何添加文本和标注
2021/01/26 Python
详解FireFox下Canvas使用图像合成绘制SVG的Bug
2019/07/10 HTML / CSS
纽约家具、家居装饰和地毯店:ABC Carpet & Home
2017/06/21 全球购物
澳大利亚首个在线预订旅游网站:Wotif
2017/07/19 全球购物
C#和SQL Server的面试题
2016/08/12 面试题
电子商务专业学生的学习自我评价
2013/10/27 职场文书
主管职责范文
2013/11/09 职场文书
军训教官感言
2014/03/02 职场文书
2015年清明节网上祭英烈活动总结
2015/03/26 职场文书
Python一行代码实现自动发邮件功能
2021/05/30 Python
Python函数中的不定长参数相关知识总结
2021/06/24 Python