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
利用static实现表格的颜色隔行显示的代码
Sep 02 PHP
wiki-shan写的php在线加密的解密程序
Sep 07 PHP
PHP 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
Jul 17 PHP
php读取二进制流(C语言结构体struct数据文件)的深入解析
Jun 13 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
Jun 20 PHP
php中的常用魔术方法总结
Aug 02 PHP
php对称加密算法示例
May 07 PHP
php判断电脑访问、手机访问的例子
May 10 PHP
PHP面向对象精要总结
Nov 07 PHP
遍历指定目录,并存储目录内所有文件属性信息的php代码
Oct 28 PHP
Thinkphp通过一个入口文件如何区分移动端和PC端
Apr 18 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
解析php防止form重复提交的方法
2013/07/01 PHP
PHP 开发者该知道的 5 个 Composer 小技巧
2016/02/03 PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
2016/03/18 PHP
解决PHP 7编译安装错误:cannot stat ‘phar.phar’: No such file or directory
2017/02/25 PHP
thinkPHP多表查询及分页功能实现方法示例
2017/07/03 PHP
新老版本juqery获取radio对象的方法
2010/03/01 Javascript
Dom 结点创建 基础知识
2011/10/01 Javascript
Jquery实现图片左右自动滚动示例
2013/09/25 Javascript
javascript解析json数据的3种方式
2014/05/08 Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
2014/06/26 Javascript
jQuery窗口、文档、网页各种高度的精确理解
2014/07/02 Javascript
javascript中call,apply,bind的用法对比分析
2015/02/12 Javascript
jQuery编程中的一些核心方法简介
2015/08/14 Javascript
JavaScript的Vue.js库入门学习教程
2016/05/23 Javascript
Javascript 正则表达式校验数字的简单实例
2016/11/02 Javascript
Node解决简单重复问题系列之Excel内容的获取
2018/01/02 Javascript
vue 设置proxyTable参数进行代理跨域
2018/04/09 Javascript
Vue表单输入绑定的示例代码
2018/11/01 Javascript
Vue动画事件详解及过渡动画实例
2019/02/09 Javascript
python中实现定制类的特殊方法总结
2014/09/28 Python
python下载文件时显示下载进度的方法
2015/04/02 Python
详解设计模式中的工厂方法模式在Python程序中的运用
2016/03/02 Python
python使用psutil模块获取系统状态
2016/08/27 Python
用pycharm开发django项目示例代码
2018/10/24 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
tensorflow入门:tfrecord 和tf.data.TFRecordDataset的使用
2020/01/20 Python
Python可视化工具如何实现动态图表
2020/10/23 Python
CSS3让登陆面板3D旋转起来
2016/05/03 HTML / CSS
H5 canvas实现贪吃蛇小游戏
2017/07/28 HTML / CSS
THE OUTNET英国官网:国际设计师品牌折扣网站
2016/08/14 全球购物
2014年元旦活动方案
2014/02/15 职场文书
医生个人年度总结
2015/02/28 职场文书
大学学习委员竞选稿
2015/11/20 职场文书
纪检部部长竞选稿
2015/11/21 职场文书
初中思想品德教学反思
2016/02/24 职场文书
浅谈golang 中time.After释放的问题
2021/05/05 Golang