浅析is_writable的php实现
以下函数可用于替换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获取远程图片并下载保存到本地的方法.分享给大家供大家参考,具体如下: 远程图片指的是远端服务器上的数据我们可以通过php的许多函数来读取下载了,这里整理了两个可以自动下载远程图片并下载保存到本地的例子. 例1,可以自动识别图片类型然后进行对应的保存 /* *功能:php完美实现下载远程图片保存到本地 *参数:文件url,保存文件目录,保存文件名称,使用的下载方式 *当保存文件名称为空时则使用远程文件原来的名称 */ function getImage($url,$save_d
-
CentOS 7.0编译安装lnmp教程(Nginx1.6.0+MySQL5.6.19+PHP5.5.14)
准备篇: CentOS 7.0系统安装配置图解教程 http://www.jb51.net/os/188487.html 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptab
-
CentOS 6.6服务器编译安装lnmp(Nginx1.6.2+MySQL5.6.21+PHP5.6.3)
准备篇: CentOS 6.6系统安装配置图解教程 http://www.jb51.net/os/239738.html 一.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables #编辑防火墙配置文件 # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT
-
ThinkPHP的SAE开发相关注意事项详解
本文详细讲述了ThinkPHP的SAE开发相关注意事项.分享给大家供大家参考,具体如下: ThinkPHP的SAE开发和标准版本的ThinkPHP基本一样,你无需了解SAE的接口用法,ThinkPHP的SAE引擎已经自动为你整合了SAE的接口,只要掌握ThinkPHP开发,你就能轻松掌握基于ThinkPHP的SAE开发. 下面是我们给出的一些利用SAE引擎开发过程的一些注意事项,能够帮助你更好的完成SAE的开发和部署. 配置 SAE引擎运行时拥有SAE自己的惯例配置和专有配置,因此配置文件加载顺
-
php获取服务器操作系统相关信息的方法
本文实例讲述了php获取服务器操作系统相关信息的方法.分享给大家供大家参考,具体如下: 下面是PHP获取当前服务器信息的基本语句. PHP程式版本: <?PHP echo PHP_VERSION; ?> ZEND版本: <?PHP echo zend_version(); ?> MYSQL支持: <?php echo function_exists (mysql_close)?"是":"否"; ?> MySQL数据库持续连接 :
-
CentOS 7.0服务器安装配置LAMP服务器(Apache+PHP+MariaDB)
准备篇: CentOS 7.0系统安装配置图解教程 http://www.jb51.net/os/188487.html 一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptab
-
PHP 实现等比压缩图片尺寸和大小实例代码
废话不多说了,直接给大家贴php等比压缩图片大小的相关代码了,具体代码如下所示: <?php $im = imagecreatefromjpeg('D:phpplace.jpeg'); resizeImage($im,,,'xinde','.jpg'); function resizeImage($im,$maxwidth,$maxheight,$name,$filetype) { $pic_width = imagesx($im); $pic_height = imagesy($im); ec
-
php is_writable判断文件是否可写实例代码
php is_writable函数介绍 is_writable - 判断给定的文件名是否可写,该函数的结果会被缓存.请使用 clearstatcache() 来清除缓存. 语法: bool is_writable ( string $filename ) 如果文件存在并且可写则返回 TRUE .filename 参数可以是一个允许进行是否可写检查的目录名. 记住 PHP 也许只能以运行 webserver 的用户名(通常为 'nobody')来访问文件.不计入安全模式的限制. 参数: fil
-
PHP与Go语言之间的通信详解
前言 最近工作中遇到的一个场景,php项目中需要使用一个第三方的功能,而恰好有一个用Golang写好的类库.那么问题就来了,要如何实现不同语言之间的通信呢?下面就来一起看看吧. 常规的方案 1. 用Golang写一个http/TCP服务,php通过http/TCP与Golang通信 2.将Golang经过较多封装,做为php扩展. 3.PHP通过系统命令,调取Golang的可执行文件 存在的问题 1.http请求,网络I/O将会消耗大量时间 2.需要封装大量代码 3.PHP每调取一次Golang
-
Ubuntu 14.04 安装 MongoDB 及 PHP MongoDB Driver详细介绍
说明 MongoDB 是非常有名的 NOSQL 数据库,下面是 Ubuntu 14.04 下 MongoDB 的安装, 同时还有针对 PHP 的配置 (driver 安装等), 此方法适用于 Homestead. 安装 MongoDB 1. 添加源 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 echo 'deb http://downloads-distro.mongodb.org/repo
-
验证坐标在某坐标区域内php代码
之前碰到的这样一个需求,要将公司的服务在地图中显示出来,并将用户每天的访问坐标进行统计看有多少用户是在所能达到的服务范围半径内. 以下是PHP代码的实现 (仅验证坐标在某片坐标区域内) <?php /** * 验证坐标点是否在某区域内 * @author xiaoliang <1058436713@qq.com> * Class validationMap */ class validationMap{ private static $coordArray; private static
随机推荐
- Maven nexus 安装nexus私服出现的问题和解决办法
- 如何给Docker配置官方国内加速镜像
- 详解iOS应用开发中的ARC内存管理方式
- asp防止上传图片木马原理解析
- JSP中使用JDBC连接MySQL数据库的详细步骤
- Python文件与文件夹常见基本操作总结
- 调用265天气预报,不显示链接
- Lua实现正序和倒序的文件读取方法
- Python win32com 操作Exce的l简单方法(必看)
- Java Socket编程实例(四)- NIO TCP实践
- SQL Server数据库中的存储过程介绍
- Sql Server触发器的使用
- js编码、解码函数介绍及其使用示例
- innerHTML,outerHTML,innerText,outerText的用法及区别解析
- 移动端基础事件总结与应用
- 两大步骤教您开启MySQL 数据库远程登陆帐号的方法
- 解决java数值范围以及float与double精度丢失的问题
- java实现酷狗音乐临时缓存文件转换为MP3文件的方法
- Tensorflow 利用tf.contrib.learn建立输入函数的方法
- VMware虚拟机克隆的方法
