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 相关文章推荐
phpwind中的数据库操作类
Jan 02 PHP
用php+javascript实现二级级联菜单的制作
May 06 PHP
php中判断数组是一维,二维,还是多维的解决方法
May 04 PHP
优化PHP代码技巧的小结
Jun 02 PHP
php中Snoopy类用法实例
Jun 19 PHP
PHP实现的网站目录扫描索引工具
Sep 08 PHP
关于Laravel Route重定向的一个注意点
Jan 16 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
May 23 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
Nov 30 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
Apr 26 PHP
Thinkphp5框架异常处理操作实例分析
Jun 03 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
Breeze 文章管理系统 v1.0.0正式发布
2006/12/14 PHP
DEDE实现转跳属性文档在模板上调用出转跳地址
2016/11/04 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
PHP实现的数据对象映射模式详解
2019/03/20 PHP
PHP设计模式之观察者模式定义与用法分析
2019/04/04 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
2019/10/11 PHP
在JavaScript中,为什么要尽可能使用局部变量?
2009/04/06 Javascript
正则表达式搭配js轻松处理json文本方便而老古
2013/02/17 Javascript
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
使用jQuery UI的tooltip函数修饰title属性的气泡悬浮框
2013/06/24 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
node.js读取文件到字符串的方法
2015/06/29 Javascript
全面解析Bootstrap排版使用方法(文字样式)
2015/11/30 Javascript
jQuery中animate的几种用法与注意事项
2016/12/12 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
在vue中使用G2图表的示例代码
2019/03/19 Javascript
vue项目打包上传github并制作预览链接(pages)
2019/04/19 Javascript
详解JavaScript中的Object.is()与&quot;===&quot;运算符总结
2020/06/17 Javascript
c++生成dll使用python调用dll的方法
2014/01/20 Python
Python 通过打码平台实现验证码的实现
2019/05/13 Python
Python+PyQT5的子线程更新UI界面的实例
2019/06/14 Python
分享PyCharm的几个使用技巧
2019/11/10 Python
求高于平均分的学生学号及成绩
2016/09/01 面试题
Linux Interview Questions For software testers
2012/06/02 面试题
2014道德模范事迹材料
2014/02/16 职场文书
给孩子的新年寄语
2014/04/08 职场文书
经营理念标语
2014/06/21 职场文书
代办委托书怎么写
2014/08/01 职场文书
教师党员个人整改措施材料
2014/09/16 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
公司人事管理制度
2015/08/05 职场文书
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python
解析redis hash应用场景和常用命令
2021/08/04 Redis
apache虚拟主机配置的三种方式(小结)
2022/07/23 Servers