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 相关文章推荐
PHP MSSQL 存储过程的方法
Dec 24 PHP
PHP 获取目录下的图片并随机显示的代码
Dec 28 PHP
php运行出现Call to undefined function curl_init()的解决方法
Nov 02 PHP
php中利用post传递字符串重定向的实现代码
Apr 21 PHP
smarty缓存用法分析
Dec 16 PHP
PHP中使用BigMap实例
Mar 30 PHP
PHP实现的一致性哈希算法完整实例
Nov 14 PHP
详解WordPress开发中wp_title()函数的用法
Jan 07 PHP
php使用PDO下exec()函数查询执行后受影响行数的方法
Mar 28 PHP
php中Ioc(控制反转)和Di(依赖注入)
May 07 PHP
Laravel 在views中加载公共页面的实现代码
Oct 22 PHP
PHP数组基本用法与知识点总结
Jun 02 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中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
Laravel中log无法写入问题的解决
2017/06/17 PHP
统计PHP目录中的文件数方法
2019/03/05 PHP
prototype 1.5 &amp; scriptaculous 1.6.1 学习笔记
2006/09/07 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
jQuery中contents()方法用法实例
2015/01/08 Javascript
JQuery实现的购物车功能(可以减少或者添加商品并自动计算价格)
2015/01/13 Javascript
js实现简单的可切换选项卡效果
2015/04/10 Javascript
js设置document.domain实现跨域的注意点分析
2015/05/21 Javascript
详解JavaScript中的表单验证
2015/06/16 Javascript
BootStrap Table 分页后重新搜索问题的解决办法
2016/08/08 Javascript
js实现前端图片上传即时预览功能
2017/08/02 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
100行代码实现一个vue分页组功能
2018/11/06 Javascript
javascript系统时间设置操作示例
2019/06/17 Javascript
vue-cli 为项目设置别名的方法
2019/10/15 Javascript
深入浅析vue全局环境变量和模式
2020/04/28 Javascript
[08:29]DOTA2每周TOP10 精彩击杀集锦vol.7
2014/06/25 DOTA
django中模板的html自动转意方法
2018/05/27 Python
将tensorflow的ckpt模型存储为npy的实例
2018/07/09 Python
Python识别html主要文本框过程解析
2020/02/18 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
使用html5+css3来实现slider切换效果告别javascript+css
2013/01/08 HTML / CSS
kmart凯马特官网:美国最大的打折零售商和全球最大的批发商之一
2016/11/17 全球购物
十一个高级MySql面试题
2014/10/06 面试题
急诊科护士自我鉴定
2013/10/14 职场文书
英语自荐信范文
2013/12/11 职场文书
大学生自我鉴定评语
2014/01/27 职场文书
英语国培研修感言
2014/02/13 职场文书
绿色城市实施方案
2014/03/19 职场文书
企业安全生产目标责任书
2014/07/23 职场文书
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
小学生推普周国旗下讲话稿
2014/09/21 职场文书
教师个人师德总结
2015/02/06 职场文书
MySQL一些常用高级SQL语句
2021/07/03 MySQL