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下HTTP Response中的Chunked编码实现方法
Nov 19 PHP
php 取得瑞年与平年的天数的代码
Aug 10 PHP
测试php函数的方法
Nov 13 PHP
PHP不用递归实现无限分级的例子分享
Apr 18 PHP
PHP学习笔记(一):基本语法之标记、空白、和注释
Apr 17 PHP
curl和libcurl的区别简介
Jul 01 PHP
ThinkPHP V2.2说明文档没有说明的那些事实例小结
Jul 01 PHP
浅谈COOKIE和SESSION区别
Jul 19 PHP
编写PHP程序检查字符串中的中文字符个数的实例分享
Mar 17 PHP
php+js实现裁剪任意形状图片
Oct 31 PHP
PHP使用HTML5 FileApi实现Ajax上传文件功能示例
Jul 01 PHP
浅谈php常用的7大框架的优缺点
Jul 20 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
「OVERLORD」动画重要删减!雅儿贝德的背叛?至尊猎杀队结成
2020/04/09 日漫
ThinkPHP查询返回简单字段数组的方法
2014/08/25 PHP
Javascript与PHP验证用户输入URL地址是否正确
2014/10/09 PHP
Laravel 5框架学习之路由、控制器和视图简介
2015/04/07 PHP
PHP多维数组遍历方法(2种实现方法)
2015/12/10 PHP
PHP abstract与interface之间的区别
2013/11/11 Javascript
给文字加上着重号的JS代码
2013/11/12 Javascript
javascript制作网页图片上实现下雨效果
2015/02/26 Javascript
jQuery实现美观的多级动画效果菜单代码
2015/09/06 Javascript
jQuery实现的超简单点赞效果实例分析
2015/12/31 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
用js动态添加html元素,以及属性的简单实例
2016/07/19 Javascript
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
javascript 单例模式详解及简单实例
2017/02/14 Javascript
angular+bootstrap的双向数据绑定实例
2017/03/03 Javascript
vue.js内部自定义指令与全局自定义指令的实现详解(利用directive)
2017/07/11 Javascript
js实现随机点名系统(实例讲解)
2017/10/18 Javascript
详解webpack 最简打包结果分析
2019/02/20 Javascript
[15:20]DOTA2-DPC中国联赛 正赛 Elephant vs Aster 选手采访
2021/03/11 DOTA
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
linux下python抓屏实现方法
2015/05/22 Python
基于Python如何使用AIML搭建聊天机器人
2016/01/27 Python
NumPy 如何生成多维数组的方法
2018/02/05 Python
tensorflow建立一个简单的神经网络的方法
2018/02/10 Python
简单了解django索引的相关知识
2019/07/17 Python
如何基于python测量代码运行时间
2019/12/25 Python
CSS3 文字动画效果
2020/11/12 HTML / CSS
Champion官网:美国冠军运动服装
2017/01/25 全球购物
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
网络公司美工设计工作个人的自我评价
2013/11/03 职场文书
《地震中的父与子》教学反思
2014/04/10 职场文书
新书发布会策划方案
2014/06/09 职场文书
大二学年个人总结
2015/03/03 职场文书
2015年置业顾问工作总结
2015/04/07 职场文书
2019年第四季度财务部门工作计划
2019/11/02 职场文书
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS