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 在文件指定行插入数据的代码
May 08 PHP
判断PHP数组是否为空的代码
Sep 08 PHP
php 调试利器debug_print_backtrace()
Jul 23 PHP
php使用curl检测网页是否被百度收录的示例分享
Jan 31 PHP
PHP中的Memcache详解
Apr 05 PHP
ThinkPHP之M方法实例详解
Jun 20 PHP
php读取目录及子目录下所有文件名的方法
Oct 20 PHP
PHP附件下载中文名称乱码的解决方法
Dec 17 PHP
phalcon框架使用指南
Feb 23 PHP
thinkphp3.x中session方法的用法分析
May 20 PHP
thinkphp5使用无限极分类
Feb 18 PHP
laravel 实现登陆后返回登陆前的页面方法
Oct 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
处理php自动反斜杠的函数代码
2010/01/05 PHP
浅析php中如何在有限的内存中读取大文件
2013/07/02 PHP
php实现读取手机客户端浏览器的类
2015/01/09 PHP
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
PHP对象的浅复制与深复制的实例详解
2017/10/26 PHP
PHP+ajax实现获取新闻数据简单示例
2018/05/08 PHP
Javascript 不能释放内存.
2006/09/07 Javascript
拖动Html元素集合 Drag and Drop any item
2006/12/22 Javascript
IE本地存储userdata的一个bug说明
2010/07/01 Javascript
计算新浪Weibo消息长度(还可以输入119字)
2013/07/02 Javascript
Extjs NumberField后面加单位实现思路
2013/07/30 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
nodejs创建web服务器之hello world程序
2015/08/20 NodeJs
AngularJS ng-style中使用filter
2016/09/21 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
2016/09/24 Javascript
Vue学习笔记进阶篇之vue-cli安装及介绍
2017/07/18 Javascript
Angular如何在应用初始化时运行代码详解
2018/06/11 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
2019/11/19 Javascript
python 查找字符串是否存在实例详解
2017/01/20 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
django 快速启动数据库客户端程序的方法示例
2019/08/16 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
Python基于read(size)方法读取超大文件
2020/03/12 Python
python3通过udp实现组播数据的发送和接收操作
2020/05/05 Python
关于python3.9安装wordcloud出错的问题及解决办法
2020/11/02 Python
python hmac模块验证客户端的合法性
2020/11/07 Python
CSS 3.0 结合video视频实现的创意开幕效果
2020/06/01 HTML / CSS
Boolean b = new Boolean(“abcde”); 会编译错误码
2013/11/27 面试题
学校后勤岗位职责
2014/02/19 职场文书
安全大检查实施方案
2014/02/22 职场文书
行政部岗位职责范本
2014/03/13 职场文书
《她是我的朋友》教学反思
2014/04/26 职场文书
残疾人小组计划书
2014/04/27 职场文书
2015年反腐倡廉工作总结
2015/05/14 职场文书
体育部部长竞选稿
2015/11/21 职场文书
Python实现灰色关联分析与结果可视化的详细代码
2022/03/25 Python