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关于array_multisort多维数组排序的使用说明
Jan 04 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
Jul 03 PHP
PHP面向对象学习笔记之一 基础概念
Oct 06 PHP
用php实现选择排序的解决方法
May 04 PHP
递归实现php数组转xml的代码分享
May 14 PHP
ThinkPHP3.2.3实现分页的方法详解
Jun 03 PHP
PHP的时间戳与具体时间转化的简单实现
Jun 13 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
Oct 10 PHP
Laravel框架实现利用监听器进行sql语句记录功能
Jun 06 PHP
PHP实现cookie跨域session共享的方法分析
Aug 23 PHP
php实现文件上传基本验证
Mar 04 PHP
PHP pthreads v3下worker和pool的使用方法示例
Feb 21 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
如何做到多笔资料的同步
2006/10/09 PHP
PHP经典的给图片加水印程序
2006/12/06 PHP
php 应用程序安全防范技术研究
2009/09/25 PHP
为PHP初学者的8点有效建议
2010/11/20 PHP
php中用数组的方法设置cookies
2011/04/21 PHP
php删除文件夹及其文件夹下所有文件的函数代码
2013/01/23 PHP
PHP中is_dir()函数使用指南
2015/05/08 PHP
教你在PHPStorm中配置Xdebug
2015/07/27 PHP
PHP利用超级全局变量$_GET来接收表单数据的实例
2016/11/05 PHP
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
javascript prototype原型操作笔记
2009/12/07 Javascript
js正则表达式中test,exec,match方法的区别说明
2014/01/29 Javascript
jquery append()方法与html()方法的区别及使用介绍
2014/08/01 Javascript
node.js中的console.error方法使用说明
2014/12/10 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
2016/02/25 Javascript
当jquery ajax遇上401请求的解决方法
2016/05/19 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
Web制作验证码功能实例代码
2017/06/19 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
微信小程序调用摄像头隐藏式拍照功能
2018/08/22 Javascript
Django+vue跨域问题解决的详细步骤
2019/01/20 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
2019/04/12 Javascript
使用python检测手机QQ在线状态的脚本代码
2013/02/10 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
Python中的单行、多行、中文注释方法
2018/07/19 Python
Django框架模型简单介绍与使用分析
2019/07/18 Python
如何用Python来理一理红楼梦里的那些关系
2019/08/14 Python
face++与python实现人脸识别签到(考勤)功能
2019/08/28 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
2020/10/02 Python
Python命令行参数定义及需要注意的地方
2020/11/30 Python
Canvas与图片压缩的示例代码
2017/11/28 HTML / CSS
美国隐形眼镜零售商:LensPure
2019/03/10 全球购物
Napapijri西班牙在线商店:夹克、外套、运动衫等
2020/11/05 全球购物
模具专业求职信
2014/06/26 职场文书
Python 第三方库 openpyxl 的安装过程
2022/12/24 Python