ホームページ  >  記事  >  バックエンド開発  >  PHPでファイルまたはディレクトリが存在するかどうかを確認するコードの概要

PHPでファイルまたはディレクトリが存在するかどうかを確認するコードの概要

高洛峰
高洛峰オリジナル
2016-12-01 13:13:411032ブラウズ

以下は、ファイルが存在するかどうかを確認する簡単なコード例です。
コードをコピーします。 コードは次のとおりです。
$filename = '/path/to/foo.txt'
if (file_exists( $filename)) {
echo "ファイル $filename が存在します";
} else {
echo "ファイル $filename が存在しません"
?> ファイルが存在する場合、 PHP ファイルは次のとおりです。
ファイル C:blablaphphello.txt が存在します。
ファイルが存在しない場合、PHP ファイルを実行すると表示される結果は次のようになります。
ファイル C:blablaphphello.txt が存在しません
を使用することもできます。ディレクトリが存在するかどうかをテストする file_exists 関数、サンプル コードは次のとおりです:
コードをコピーします コードは次のとおりです:
if (file_exists("C:blablaphp"))
{echo "yes";}
else
{echo "no ";}


コードをコピー コードは次のとおりです:
/* *
* ファイルまたはディレクトリの権限チェック関数
*
* @access public
* @param string $file_path ファイルパス
* @param bool $rename_prv 変更権限チェック時に rename() 関数の実行権限をチェックするかどうか
*
* @ return int 戻り値の値の範囲は、{0 * 戻り値はバイナリ表記であり、上位から下位までの 4 桁はそれぞれ
* rename() 関数の実行権限、ファイルへの内容の追加権限、ファイルへの書き込み権限、およびファイルを読み取る権限。
*/
function file_mode_info($file_path)
{
/* 存在しない場合は、読み取り、書き込み、変更できません。 */
if (!file_exists($file_path))
{
return false;
$mark = 0;
if (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN')
/ * テストファイル*/
$test_file = $file_path . '/cf_test.txt';
/* ディレクトリの場合*/
if (is_dir($file_path))
{
/* ディレクトリが読み取り可能かどうかを確認します* /
$dir = @opendir($file_path);
if ($dir === false)
{
return $mark; // ディレクトリのオープンに失敗した場合は、変更、書き込み、読み取りができないディレクトリに直接戻ります。
}
if (@readdir($dir) !== false)
{
$mark ^= 1; //ディレクトリは読み取り可能 001、ディレクトリは読み取り不可
}
@closedir($dir); * ディレクトリが書き込み可能かどうかを確認します*/
$fp = @fopen($test_file, 'wb');
if ($ fp === false)
{ //ディレクトリ内のファイルが失敗した場合作成しようとすると、書き込み不可を返します。
}
if (@fwrite($fp, 'ディレクトリ アクセス テスト。') !== false)
{
$mark ^= 2; //ディレクトリは書き込み可能かつ読み取り可能 011、ディレクトリは書き込み可能かつ読み取り不可 010

@fclose($fp);
@unlink($test_file);
/* ディレクトリが変更可能かどうかを確認します*/
$fp = @fopen($test_file, 'ab+'); == false)
{
return $mark;
}
if (@fwrite($fp, "modify test.rn") !== false)
{
$mark ^= 4; fp);
/* ディレクトリに rename() 関数を実行する権限があるかどうかを確認します*/
if (@rename($test_file, $test_file) !== false)
{
$mark ^= 8; @unlink($test_file );
}
/* ファイルの場合*/
elseif (is_file($file_path))
{
/* 読み取りモードで開きます*/
$fp = @fopen($file_path, ' rb');
if ( $fp)
{
$mark ^= 1; //読み取り可能 001
}
@fclose($fp)
/* ファイルを変更してみます*/
$fp = @fopen( $file_path, 'ab+') ;
if ($fp && @fwrite($fp, '') !== false)
{
$mark ^= 6; // 111 は変更、書き込み、読み取りはできません。変更、書き込み、読み取り 011...
}
@fclose($fp);
/* ディレクトリに rename() 関数を実行する権限があるかどうかを確認します*/
if (@rename($test_file, $test_file) ! == false)
{
$mark ^ = 8;
}
}
}
else
{
if (@is_readable($file_path))
{
$mark ^= 1; $file_path))
{
$mark ^ = 14;
}
}
return $mark;

PHP がディレクトリが存在するかどうかを判断します
コードをコピーする コードは次のとおりです:
/*************************************************** *
* XML データ ストリームを XML ファイルに書き込みます
* @param $xmlData
* @return bool|string
*/
function writeXmlFile($xmlData)
{
$time = time (); //ファイルの名前に使用されるタイムスタンプを取得します
$path = dirname(__FILE__) //現在の絶対パスを取得します
;$path = substr_replace($path, "",tripos($path, "actionsdata")); //このファイルの固有のパスを空のパスに置き換えます
$path .= "xmlFiles" //ストレージディレクトリ名
; / *ターゲット ディレクトリが存在するかどうかを確認し、存在しない場合は新しいディレクトリを作成します*/
if(!is_dir($path))
{
mkdir($path) //新しいディレクトリを作成します
}
/*完全なパスとファイル名*/
$filePathAndName = $path.$time.".xml";
/*ファイル名は <.xml>*/
$fp = fopen ($filePathAndName, "w") ;
if(!$fp)
{
return false;
/*ファイルストリームに書き込みます*/
$flag = fwrite($fp, $xmlData); $flag)
{
false を返す
}
fclose($fp)
$filePathAndName を返します。

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