Heim  >  Artikel  >  php教程  >  php is_writable bestimmt, ob eine Datei geschrieben werden kann

php is_writable bestimmt, ob eine Datei geschrieben werden kann

高洛峰
高洛峰Original
2016-12-28 15:56:251502Durchsuche

Einführung in die PHP-Funktion is_writable

is_writable – Bestimmt, ob der angegebene Dateiname beschreibbar ist. Das Ergebnis dieser Funktion wird zwischengespeichert. Bitte verwenden Sie „clearstatcache()“, um den Cache zu leeren.

Syntax:

bool is_writable ( string $filename )

Gibt TRUE zurück, wenn die Datei existiert und beschreibbar ist. Der Dateiname-Parameter kann ein Verzeichnisname sein, der eine Überprüfung der Beschreibbarkeit ermöglicht.

Denken Sie daran, dass PHP möglicherweise nur auf Dateien unter dem Benutzernamen zugreifen kann, unter dem der Webserver läuft (normalerweise „nobody“). Zählt nicht auf die Grenzwerte für den abgesicherten Modus.

Parameter:

Dateiname Der Name der zu prüfenden Datei.

Rückgabewert:

Gibt TRUE zurück, wenn die Datei Dateiname existiert und beschreibbar ist.

php is_writable-Instanz

Verwenden Sie die Funktion is_writable, um zu bestimmen, ob eine bestimmte Datei lesbar ist:

<?php
$filename = "test.text";
if (is_readable($filename)) {
  echo "文件 $filename 可读";
} else {
  echo "文件 $filename 不可读";
}
?>

Tatsächlich können wir auch selbst eine Funktion schreiben, um festzustellen, ob Die Datei ist lesbar. Anstelle der in PHP integrierten Funktion is_writable können die folgenden Funktionen verwendet werden, um die in PHP integrierte Funktion is_writable zu ersetzen:

//可用于替换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;
    }
  }
}

Vielen Dank fürs Lesen . Ich hoffe, es kann Ihnen helfen.

Weitere Artikel zum Thema PHP is_writable, Beurteilung, ob eine Datei geschrieben werden kann, und Beispielcode finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn