空のファイル ディレクトリに読み取りおよび書き込み権限があるかどうかを判断するための PHP の関数コード_PHP チュートリアル

WBOY
リリース: 2016-07-21 15:17:13
オリジナル
1155 人が閲覧しました

is_writable はこれを処理するために使用されます。PHP は、Web サーバーを実行しているユーザー名 (通常は「nobody」) としてのみファイルにアクセスできる可能性があることに注意してください。セーフ モードの制限にはカウントされません。
例 #1 is_writable() 例

コードをコピー コードは次のとおりです。 echo 'ファイルは書き込み可能です';
} else {
echo 'ファイルは書き込み可能ではありません';
?>


上記の関数の問題は、ファイル名が必要であることです。チェックするファイルはファイルであると規定されており、ディレクトリは判定できません。 次に空のディレクトリを判定します。
例 1
この関数は、特に静的ファイルを生成する必要がある一部のプロジェクトで非常によく使用されます。ディレクトリを使用できるかどうかは、そのディレクトリにファイルの作成と削除の権限があるかどうかによって決まります


コードをコピーします

コードは次のとおりです:

/* 問題が発生します: ディレクトリが書き込み可能かどうかを確認する方法、およびディレクトリ内にディレクトリとファイルがあるかどうかを確認する方法 アイデア: (1) まずアルゴリズムを書き出します。空のディレクトリが書き込み可能かどうかを確認するには: ディレクトリにファイルを生成します。生成できない場合は、そのディレクトリに書き込み権限がないことを意味します。 (2) 再帰的メソッドを使用して確認します。 set_time_limit(1000);
関数 check_dir_iswritable($dir_path) {
$dir_path=str_replace('','/',$dir_path);
if(!is_dir($dir_path)){
$is_writale =0;
return $is_writale;
}else{
$file_hd=@fopen($dir_path.'/test.txt','w');
if(!$file_hd){
@fclose($file_hd);
@unlink($dir_path.'/test.txt ');
$is_writale=0;
$dir_hd=opendir($dir_path);
while(false!==($file=readdir) ($dir_hd))){
if ($file != "." && $file != "..") {
if(is_file($dir_path.'/'.$file)){
//ファイル書き込み可能ではありません。直接返します
if(!is_writable($dir_path .'/'.$file)){
return 0;
}else{
$file_hd2=@fopen($dir_path.'/'.$file) .'/test.txt','w');
if(!$file_hd2){
@fclose($file_hd2)
@unlink($dir_path.'/'.$file.'/test.txt') ;
$is_writale=0;
return $is_writale;
//再帰的
$is_writale=check_dir_iswritable($dir_path.'/'.$file);
}


上記の例では、主に fopen を使用してディレクトリにファイルを作成するか、ファイルにコンテンツを書き込み、ディレクトリの読み取りおよび書き込み権限を決定できるようにします。



http://www.bkjia.com/PHPjc/325768.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/325768.html

技術記事

is_writable はこれを処理するために使用されます。PHP は、Web サーバーを実行しているユーザー名 (通常は「nobody」) としてのみファイルにアクセスできる可能性があることに注意してください。セーフ モードの制限にはカウントされません。例 #1 is_writable...




ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!