ホームページ > バックエンド開発 > PHPチュートリアル > PHP ファイルとディレクトリについて (1) ファイルの書き込み ファイルのアクセス許可 3. ファイルのロック

PHP ファイルとディレクトリについて (1) ファイルの書き込み ファイルのアクセス許可 3. ファイルのロック

WBOY
リリース: 2016-06-23 13:46:15
オリジナル
859 人が閲覧しました

1. ファイルのアクセス許可

つまり、ディレクトリのセキュリティを確保することは、ファイルのセキュリティを確保することよりも重要です。

2. ファイルを書き込みます

file_put_contents($file,$data); // 存在しない場合は作成され、存在する場合は元のファイルが上書きされます

file_put_contents($file,$data,FILE_APPEND) ; //そうでない場合は最後に追加されます

file_put_contents($file,$data.PHP_EOL,FILE_APPEND);//改行あり

[例]:




AQuotation を追加





// 使用するファイルを特定します:

$file ='../quotes.txt';
//このファイルは、安全のために親ディレクトリに配置するのが最適です。 // フォームの送信を確認します:

if ($_SERVER['REQUEST_METHOD'] == 'POST') { // フォームを処理します。


if ( !empty($_POST['quote'])&& ($ _POST['quote'] != 'ここに引用文を入力してください。') ) { // 何か書く必要があります。

if(is_writable($file)) { // ファイルが書き込み可能であることを確認します。

file_put_contents ($file,$_POST['quote'] . PHP_EOL, FILE_APPEND); // データを書き込みます。

// メッセージを印刷します:

print'

あなたの引用は保存されました。

' ;
} else { // ファイルを開けませんでした。

print'

システムエラーのため、引用を保存できませんでした。

';

}

} else { // 引用符の入力に失敗しました。

print '引用符を入力してください!

';

}

} // 送信された IF の終了

// PHP を離れてフォームを表示します:

?>






3. ファイルをロックします

file_put_contents($file,$data,FILE_APPEND|LOCK_EX) // 2 つの変数が使用される順序は重要ではありません。

LOCK_SH は読み取りに使用されます 共有ロックを取得します

LOCK_EX 書き込み用の排他的ロック

LOCK_UN ロックを解放します

LOCK_NB ノンブロッキング ロック

4 番目にファイルを読み取ります

最初のメソッド: $data=file_get_contents($file) ); // 文字列に従って読み取ります

2 番目の方法: $data=file($file); // 各行のデータを読み取る方が一般的に使用されます

[例]: // 追加: 注意してください。 file 関数の前に is_readable() 関数を使用して、ファイルが読み取り可能かどうかをテストできます

"http://www. w3.org /TR/xhtml1/DTD/xhtml1-transitional.dtd">


AQuotation を表示
< ;/head> ;

RandomQuetation



$data =file('../quotes.txt');


// の数を数える配列内の項目: $n = count($data);


// ランダムな項目を選択: 乱数を生成します $rand = rand(0, ($n -1));


// 引用文を出力します: print '

' .trim($data[$rand]) .'

';

// ファイルはコンテンツ情報を配列に配置でき、各要素には 1 つの情報が含まれますline


?>



ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート