浅析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 相关文章推荐
PHP MemCached高级缓存配置图文教程
Aug 05 PHP
PHP基础学习小结
Apr 17 PHP
Linux环境下搭建php开发环境的操作步骤
Jun 17 PHP
教你如何开启shopnc b2b2c 伪静态
Oct 21 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
Oct 23 PHP
在SAE上搭建最新wordpress的方法
Dec 21 PHP
php打印一个边长为N的实心和空心菱型的方法
Mar 02 PHP
PHP遍历数组的方法汇总
Apr 30 PHP
图文详解PHP环境搭建教程
Jul 16 PHP
PHP对象链式操作实现原理分析
Oct 09 PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 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
Amazon Prime Video平台《无限住人 -IMMORTAL-》2020年开始TV放送!
2020/03/06 日漫
windows下PHP APACHE MYSQ完整配置
2007/01/02 PHP
UCenter Home二次开发指南
2009/05/28 PHP
使用pthreads实现真正的PHP多线程(需PHP5.3以上版本)
2014/05/05 PHP
PHP语法自动检查的Vim插件
2014/08/11 PHP
PHP与MYSQL中UTF8编码的中文排序实例
2014/10/21 PHP
CodeIgniter中使用Smarty3基本配置
2015/06/29 PHP
PHP封装的Twitter访问类实例
2015/07/18 PHP
PHP实现更改hosts文件的方法示例
2017/08/08 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
PHP使用PDO 连接与连接管理操作实例分析
2020/04/21 PHP
通过jQuery源码学习javascript(三)
2012/12/27 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器
2013/06/21 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
jQuery实现Twitter的自动文字补齐特效
2014/11/28 Javascript
javascript实现拖放效果
2015/12/16 Javascript
js确认框confirm()用法实例详解
2016/01/07 Javascript
js将滚动条滚动到指定位置的简单实现方法
2016/06/25 Javascript
关于vue-resource报错450的解决方案
2017/07/24 Javascript
vue 运用mock数据的示例代码
2017/11/07 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
vue将后台数据时间戳转换成日期格式
2019/07/31 Javascript
JS实现提示效果弹出及延迟隐藏的功能
2019/08/26 Javascript
Python中字典(dict)合并的四种方法总结
2017/08/10 Python
Python中pandas dataframe删除一行或一列:drop函数详解
2018/07/03 Python
python+Splinter实现12306抢票功能
2018/09/25 Python
python try 异常处理(史上最全)
2019/03/07 Python
在matplotlib中改变figure的布局和大小实例
2020/04/23 Python
Django中Aggregation聚合的基本使用方法
2020/07/09 Python
新加坡最受追捧的体验平台:Hapz
2018/01/01 全球购物
服装行业创业计划书范文
2014/02/05 职场文书
2014幼儿园大班工作总结
2014/11/10 职场文书
义诊活动通知
2015/04/24 职场文书
创业计划书之物流运送
2019/09/17 职场文书
Vue.js中v-for指令的用法介绍
2022/03/13 Vue.js
Java实现扫雷游戏详细代码讲解
2022/05/25 Java/Android