php is_writable判斷文件是否可寫實(shí)例代碼
php is_writable函數(shù)介紹
is_writable — 判斷給定的文件名是否可寫,該函數(shù)的結(jié)果會(huì)被緩存。請(qǐng)使用 clearstatcache() 來(lái)清除緩存。
語(yǔ)法:
bool is_writable ( string $filename )
如果文件存在并且可寫則返回 TRUE 。filename 參數(shù)可以是一個(gè)允許進(jìn)行是否可寫檢查的目錄名。
記住 PHP 也許只能以運(yùn)行 webserver 的用戶名(通常為 'nobody')來(lái)訪問(wèn)文件。不計(jì)入安全模式的限制。
參數(shù):
filename 要檢查的文件名稱。
返回值:
如果文件 filename 存在并且可寫則返回 TRUE 。
php is_writable實(shí)例
使用is_writable函數(shù)判斷給定的文件是否可讀:
<?php
$filename = "test.text";
if (is_readable($filename)) {
echo "文件 $filename 可讀";
} else {
echo "文件 $filename 不可讀";
}
?>
其實(shí)我們也可以自己寫一個(gè)函數(shù)來(lái)判斷文件是否可讀,而不需要使用php內(nèi)置函數(shù)is_writable,以下函數(shù)可用于替換php內(nèi)置的is_writable函數(shù),大家可以參考一下:
//可用于替換php內(nèi)置的is_writable函數(shù)
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)){
//文件已經(jīng)存在的話,使用讀寫方式打開(kāi)
$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;
}
}
}
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- 淺析is_writable的php實(shí)現(xiàn)
- PHP與Go語(yǔ)言之間的通信詳解
- ThinkPHP的SAE開(kāi)發(fā)相關(guān)注意事項(xiàng)詳解
- Ubuntu 14.04 安裝 MongoDB 及 PHP MongoDB Driver詳細(xì)介紹
- PHP 實(shí)現(xiàn)等比壓縮圖片尺寸和大小實(shí)例代碼
- php獲取服務(wù)器操作系統(tǒng)相關(guān)信息的方法
- 驗(yàn)證坐標(biāo)在某坐標(biāo)區(qū)域內(nèi)php代碼
- php獲取遠(yuǎn)程圖片并下載保存到本地的方法分析
- CentOS 7.0編譯安裝lnmp教程(Nginx1.6.0+MySQL5.6.19+PHP5.5.14)
- CentOS 6.6服務(wù)器編譯安裝lnmp(Nginx1.6.2+MySQL5.6.21+PHP5.6.3)
- CentOS 7.0服務(wù)器安裝配置LAMP服務(wù)器(Apache+PHP+MariaDB)
相關(guān)文章
php過(guò)濾html中的其他網(wǎng)站鏈接的方法(域名白名單功能)
這篇文章主要介紹了php過(guò)濾html中的其他網(wǎng)站鏈接的方法(域名白名單功能),需要的朋友可以參考下2014-04-04
php設(shè)置頁(yè)面超時(shí)時(shí)間解決方法
大家都遇到過(guò)由于網(wǎng)絡(luò)卡導(dǎo)致的網(wǎng)頁(yè)一直在轉(zhuǎn)吧,看到此現(xiàn)象我想是不是可以給網(wǎng)頁(yè)設(shè)置一個(gè)超時(shí)時(shí)間,設(shè)置一個(gè)時(shí)間多久沒(méi)反應(yīng)就提示超時(shí)信息呢?下面看看小編是怎么實(shí)現(xiàn)php設(shè)置頁(yè)面超時(shí)時(shí)間的吧2015-09-09
Yii2.0框架behaviors方法使用實(shí)例分析
這篇文章主要介紹了Yii2.0框架behaviors方法使用,結(jié)合實(shí)例形式分析了yii2.0框架控制器 behaviors 過(guò)濾數(shù)據(jù)相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下2019-09-09
PHP入門經(jīng)歷和學(xué)習(xí)過(guò)程分享
對(duì)于PHP程序設(shè)計(jì)語(yǔ)言來(lái)說(shuō)。每個(gè)人的學(xué)習(xí)方式不同,寫這篇文章的目的是分享一下自己的學(xué)習(xí)過(guò)程,僅供參考,不要一味的用別人的學(xué)習(xí)方法,找對(duì)自己有用的學(xué)習(xí)方式2014-04-04
php實(shí)現(xiàn)銀聯(lián)商務(wù)公眾號(hào)+服務(wù)窗支付的示例代碼
這篇文章主要介紹了php實(shí)現(xiàn)銀聯(lián)商務(wù)公眾號(hào)+服務(wù)窗支付的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
yii實(shí)現(xiàn)使用CUploadedFile上傳文件的方法
這篇文章主要介紹了yii實(shí)現(xiàn)使用CUploadedFile上傳文件的方法,結(jié)合具體的前端與后端處理代碼實(shí)例分析了CUploadedFile類的使用方法,需要的朋友可以參考下2015-12-12
thinkphp配置文件路徑的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇thinkphp配置文件路徑的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08
PHP筆記之:基于面向?qū)ο笤O(shè)計(jì)的詳解
本篇文章對(duì)面向?qū)ο笤O(shè)計(jì)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05

