程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php is_writable判斷文件是否可寫實例代碼,

php is_writable判斷文件是否可寫實例代碼,

編輯:關於PHP編程

php is_writable判斷文件是否可寫實例代碼,


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;
    }
  }
}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved