ホームページ  >  記事  >  php教程  >  php is_writable はファイルを書き込めるかどうかを決定します。コード例。

php is_writable はファイルを書き込めるかどうかを決定します。コード例。

高洛峰
高洛峰オリジナル
2016-12-28 15:56:251502ブラウズ

php is_writable 関数の概要

is_writable — 指定されたファイル名が書き込み可能かどうかを判断します。この関数の結果がキャッシュされます。キャッシュをクリアするには、clearstatcache() を使用してください。

構文:

bool is_writable ( string $filename )

ファイルが存在し、書き込み可能な場合は TRUE を返します。 filename パラメータには、書き込み可能性のチェックを可能にするディレクトリ名を指定できます。

PHP は、Web サーバーを実行しているユーザー名 (通常は「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(&#39;/\/$/&#39;,$filename)){
    $tmp_file=sprintf(&#39;%s%s.tmp&#39;,$filename,uniqid(mt_rand()));
    return isWritable($tmp_file);
  }
  if(file_exists($filename)){
    //文件已经存在的话,使用读写方式打开
    $fp=@fopen($filename,&#39;r+&#39;);
    if($fp){
      fclose($fp);
      return true;
    }
    else{
      return false;
    }
  }
  else{
    $fp=@fopen($filename,&#39;w&#39;);
    if($fp){
      fclose($fp);
      unlink($filename);
      return true;
    }
    else{
      return false;
    }
  }
}

読んでいただきありがとうございます。皆さんのお役に立てれば幸いです。このサイトのご支援に感謝します。

サンプルコードを使用してファイルを書き込むことができるかどうかを判断するための php is_writable に関するその他の記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。