php is_writable判断文件是否可写实例代码


Posted in PHP onOctober 13, 2016

php is_writable函数介绍

is_writable — 判断给定的文件名是否可写,该函数的结果会被缓存。请使用 clearstatcache() 来清除缓存。

语法:

bool is_writable  ( string $filename  )

如果文件存在并且可写则返回 TRUE 。filename 参数可以是一个允许进行是否可写检查的目录名。

记住 PHP 也许只能以运行 webserver 的用户名(通常为 'nobody')来访问文件。不计入安全模式的限制。

参数:

filename 要检查的文件名称。

返回值:

如果文件 filename 存在并且可写则返回 TRUE 。

php is_writable实例

使用is_writable函数判断给定的文件是否可读:

<?php
$filename = "test.text";
if (is_readable($filename)) {
  echo "文件 $filename 可读";
} else {
  echo "文件 $filename 不可读";
}
?>

其实我们也可以自己写一个函数来判断文件是否可读,而不需要使用php内置函数is_writable,以下函数可用于替换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
php 生成WML页面方法详解
Aug 09 PHP
php 按指定元素值去除数组元素的实现方法
Nov 04 PHP
与文件上传有关的php配置参数总结
Jun 14 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
Oct 10 PHP
php中call_user_func函数使用注意事项
Nov 21 PHP
PHP使用redis消息队列发布微博的方法示例
Jun 22 PHP
PHP数据库编程之MySQL优化策略概述
Aug 16 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
May 21 PHP
Laravel框架生命周期与原理分析
Jun 12 PHP
PHP addAttribute()函数讲解
Feb 03 PHP
PHP7引入的&quot;??&quot;和&quot;?:&quot;的区别讲解
Apr 08 PHP
基于PHP制作验证码
Oct 12 #PHP
实现PHP搜索加分页
Oct 12 #PHP
如何使用PHP给图片加水印
Oct 12 #PHP
php版微信数据统计接口用法示例
Oct 12 #PHP
php版微信js-sdk支付接口类用法示例
Oct 12 #PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 #PHP
如何使用php等比例缩放图片
Oct 12 #PHP
You might like
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
在apache下限制每个虚拟主机的并发数!!!!
2006/10/09 PHP
php下使用无限生命期Session的方法
2007/03/16 PHP
为PHP5.4开启Zend OPCode缓存
2014/12/26 PHP
PHP常用处理静态操作类
2015/04/03 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
2016/03/23 PHP
PHP使用PDO访问oracle数据库的步骤详解
2017/09/29 PHP
php生成HTML文件的类方法
2019/10/11 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
2019/10/18 PHP
写出更好的JavaScript之undefined篇(上)
2009/11/22 Javascript
Jquery中对数组的操作代码
2011/08/12 Javascript
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
用js判断输入是否为中文的函数
2014/03/10 Javascript
javascript实现根据时间段显示问候语的方法
2015/06/18 Javascript
浅谈JavaScript对象与继承
2016/07/10 Javascript
微信小程序 Flex布局详解
2016/10/09 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
Angular2数据绑定详解
2017/04/18 Javascript
JS时间控制实现动态效果的实例讲解
2017/07/31 Javascript
基于ssm框架实现layui分页效果
2019/07/27 Javascript
图解JS原型和原型链实现原理
2020/09/15 Javascript
[01:52]2014DOTA2西雅图邀请赛 V社开大会你不知道的小秘密
2014/07/08 DOTA
python数据结构之二叉树的遍历实例
2014/04/29 Python
Python实现曲线拟合操作示例【基于numpy,scipy,matplotlib库】
2018/07/12 Python
Python高斯消除矩阵
2019/01/02 Python
对Python定时任务的启动和停止方法详解
2019/02/19 Python
将pip源更换到国内镜像的详细步骤
2019/04/07 Python
Python OpenCV利用笔记本摄像头实现人脸检测
2020/08/20 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
Vrbo英国:预订度假屋
2020/08/19 全球购物
物业管理应届生求职信
2013/10/28 职场文书
大学自我鉴定范文
2013/12/26 职场文书
2013年军训通讯稿
2014/02/05 职场文书
2014年会计工作总结
2014/11/27 职场文书
本科毕业论文指导教师评语
2014/12/30 职场文书
努力学习保证书
2015/02/26 职场文书