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生成缩略图的代码
Jan 12 PHP
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
May 08 PHP
PHP将session信息存储到数据库的类实例
Mar 04 PHP
thinkphp3.x中cookie方法的用法分析
May 19 PHP
PHP生成制作验证码的简单实例
Jun 12 PHP
对PHP依赖注入的理解实例分析
Oct 09 PHP
PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】
Apr 24 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
Mar 18 PHP
PHP中PCRE正则解析代码详解
Apr 26 PHP
php DES加密算法实例分析
Sep 18 PHP
TP5框架简单登录功能实现方法示例
Oct 31 PHP
在Laravel中使用MongoDB的方法示例
Nov 11 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模块memcached使用指南
2014/12/08 PHP
PHP内置加密函数详解
2016/11/20 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
2018/04/27 PHP
PHP高并发和大流量解决方案整理
2021/03/09 PHP
很可爱的输入框
2008/08/03 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
jQuery中get和post方法传值测试及注意事项
2014/08/08 Javascript
JavaScript中对象property的删除方法介绍
2014/12/30 Javascript
Javascript中String的常用方法实例分析
2015/06/13 Javascript
全面解析JavaScript中“&amp;&amp;”和“||”操作符(总结篇)
2016/07/18 Javascript
41个Web开发者必须收藏的JavaScript实用技巧
2016/07/22 Javascript
ES6新特性之解构、参数、模块和记号用法示例
2017/04/01 Javascript
Express URL跳转(重定向)的实现方法
2017/04/07 Javascript
令按钮悬浮在(手机)页面底部的实现方法
2017/05/02 Javascript
利用Angular.js编写公共提示模块的方法教程
2017/05/28 Javascript
nodejs微信开发之授权登录+获取用户信息
2019/03/17 NodeJs
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
python简单读取大文件的方法
2016/07/01 Python
python实现将多个文件分配到多个文件夹的方法
2019/01/07 Python
python 实现敏感词过滤的方法
2019/01/21 Python
Python 依赖库太多了该如何管理
2019/11/08 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
2021/02/07 Python
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
介绍一下.NET构架下remoting和webservice
2014/05/08 面试题
电信专业应届生自荐信
2013/09/28 职场文书
剪彩仪式主持词
2014/03/19 职场文书
党校培训自我鉴定范文
2014/04/10 职场文书
省文明单位申报材料
2014/05/08 职场文书
纪检监察建议书
2014/05/19 职场文书
求职信范文大全
2014/05/26 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
工程服务质量承诺书
2015/04/29 职场文书
2016年党员公开承诺书格式范文
2016/03/24 职场文书