ホームページ > バックエンド開発 > PHPチュートリアル > php_PHP チュートリアルでのディレクトリおよびファイル操作の詳細な説明

php_PHP チュートリアルでのディレクトリおよびファイル操作の詳細な説明

WBOY
リリース: 2016-07-21 15:56:23
オリジナル
801 人が閲覧しました

1. はじめに
Web プログラミングではファイル操作は常に頭の痛い問題ですが、CMS システムではファイル操作が非常に便利です。ここでは、PHP のこれらの関数の詳細な概要を作成し、その使用方法を説明します。ここでは、重要なポイントのみを要約します。
2. ディレクトリ操作
最初の紹介は、ディレクトリから読み取る関数、opendir()、readdir()、closedir() を使用する場合です。まずファイルハンドルを開き、それを繰り返しリストします:

コードをコピーします コードは次のとおりです:

$base_dir = "filelist/";
$fso = opendir($) Base_dir);
echo $base_dir."
" ;
echo $flist."
" fso)
?>



これは、ファイル ディレクトリ内のファイルとディレクトリを返すプログラムです (ファイルが 0 の場合は false を返します)
ディレクトリ情報を知る必要がある場合は、dirname($path) を使用できます。とbasename($path)は、それぞれパスのディレクトリ部分とファイル名部分を返します。
作成コマンド:
mkdir($path,0777)
,0777を使用して、空き領域を返すことができます。許可コードは、非ウィンドウ条件下で umask() 関数で設定できます。
rmdir($path)
$path 内のパスを持つファイルを削除します -- ディレクトリ クラスも操作に重要なクラスです。ファイル ディレクトリには、read、rewind、close の 3 つのメソッドがあり、最初にファイル ハンドルを使用し、次にポインタを使用してそれを読み取ります。コード

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


< ;?php
$d = dir("/etc/php5"); echo "Handle: " . $d->handle . "パス: " . $d->path . " n"; $d->close(); ?>
出力:
ハンドル: リソース ID #2
パス: /etc/php5
..
apache
cgi
cli
ファイルの属性には、作成時刻、最終変更時刻、所有者、ファイル グループ、タイプ、サイズなどが含まれます。
以下のファイル操作に焦点を当てましょう
3. ファイルの読み取り
まず、ファイルが存在するかどうかを確認します。読み取ることができます (権限の問題)、または存在するかどうかに関係なく、is_readable 関数を使用して情報を取得できます。:


コードをコピー

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


$file = 'dirlist .php';
if (is_readable($file) == false) {
die('ファイルが存在しないか、読み取ることができません');
} else {
echoファイルが存在する場合は、ファイルが存在する場合は、次のように使用できます。

コードをコピーします コードは次のとおりです:
$file = "filelist.php";
if (file_exists($file) == false) {
die( 'ファイルは存在しません存在します');
$data = file_get_contents($file);
echo htmlentities($data)?> ただし、file_get_contents 関数は最初にファイルを作成できます。そしてポインタを使ってすべてを読みます:
このようにして、バイナリ ファイルを読み取ることができます。
$data = implode('', file($file));
● ファイルを書き込む
ファイルを読み取るのと同じように、最初に次のことを確認します。書くことができます:

コードをコピーします コードは次のとおりです:

$file = 'dirlist.php';
if (is_writable($file) == false) {
die("私は鶏の羽です、私はできません")
? >

記述できる場合は、file_put_contents 関数を使用して次のように記述できます:

コードをコピーします コードは次のとおりです:
$file = 'dirlist.php';
if (is_writable($file) == false ) {
php5 で新しく導入された関数 (存在するかどうかわからない場合は、function_exists 関数を使用して最初にそれらを確認してください) は、php の以前のバージョンでは使用できません。次のメソッドを使用できます:
$f = fopen($file, 'w');
fwrite($f , $data);
書き込み時にロックが必要になる場合があります。


コードをコピーします

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


function cache_page($pageurl,$ pagedata){
if(!$fso=fopen($pageurl,'w')) {
$this->warns('キャッシュされたファイルを開けません。');//trigger_error
return false; } if( !flock($fso,LOCK_EX)){//LOCK_NB、排他ロック $this ->warns('キャッシュ ファイルをロックできません。');//trigger_error return false;
if(!fwrite( $fso,$pagedata)){// バイト ストリームを書き込み、シリアル化して他の形式を書き込みます
$this->warns('キャッシュ ファイルに書き込めません。');//trigger_error
return false;
flock ($fso,LOCK_UN);// ロックを解放します
fclose($fso); ;
}


● ファイルのコピー、削除
PHP でファイルを削除するのは非常に簡単で、操作は unlink 関数を使用します:



コードをコピー

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


$file = 'dirlist.php';
$result = @unlink ($file);
if ($result == false) {
echo '蚊を追い払う '; else {
echo '取得できません削除';
} ?> ファイルのコピーも簡単です:

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


< .txt';
$newfile = 'ji.txt'; # このファイルの親フォルダーは書き込み可能でなければなりません
if (file_exists($file) == false) {
die ('オンラインのサンプルがありません、コピーできません') ;
}
$result = copy($file, $newfile);
if ($result == false) {
echo 'メモリをコピーします';


わかりました rename() 関数を使用します他の操作は、これらの関数を組み合わせることによって実現できます。
● ファイル属性を取得する いくつかの一般的な関数について説明します: 最新の変更時刻を取得する:
コードをコピーします




$file = 'test.txt';
echo date('r', filemtime($file));



は一般的に使用される Unix タイムスタンプを返します。キャッシュ技術では、ファイルのアクセス許可、所有者、すべてのグループ、または i ノード内のその他のメタデータが更新されたときに、最終アクセス時刻の fileatime()、filectime() も取得され、fileowner() 関数はファイルの所有者
$owner を返します。 = posix_getpwuid(fileowner($file));
(非ウィンドウ システム)、ileperms() はファイルのアクセス許可を取得します、



コードをコピーします
コードは次のとおりです:

$file = 'dirlist.php';
$perms = substr(sprintf('%o', fileperms($file)), -4);

filesize() はファイル サイズのバイト数を返します:


コードをコピー
コードは次のとおりです: // 出力は同様です: somefile.txt: 1024 バイト
$filename = 'somefile.txt';
echo $filename . ' bytes';

ファイルのすべての情報を取得します。 ) 配列を返します:


コードをコピー
コードは次のとおりです: $file = 'dirlist.php'
$perms = stat($file); $perms);


そのキーは何に対応していますか? ここでは詳細情報を確認できます。
結論
上記でいくつかのファイル操作を簡単にまとめました。上記の関数は、すでに PHP ファイルを操作している場合には大きな問題はありません。このファイルのこの部分は、PHP を学習する上で非常に重要な部分でもあります。無視してください。


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

www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/318069.html技術記事 1. はじめに Web プログラミングでは、ファイルは常に必要なオブジェクトですが、CMS システムでのファイル操作は...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート