ホームページ  >  記事  >  バックエンド開発  >  PHP5 チュートリアル ファイル操作_PHP チュートリアル

PHP5 チュートリアル ファイル操作_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 14:53:07744ブラウズ

1. はじめに

どのコンピューターデバイスでもファイルは必要なオブジェクトであり、Webプログラミングではファイル操作は常にWebプログラマーにとって頭痛の種であり、CMSシステムではファイル操作が必要であり、非常に便利です。ファイル ディレクトリの生成、ファイル (フォルダー) の編集などの操作について説明します。ここで、PHP のこれらの関数の詳細な概要を作成し、それらの使用方法を例とともに示します。対応する関数の詳細については、PHP マニュアルを参照してください。 (PHPマニュアルには記載されていません。) (www.bkjia.com)

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 内のパスを持つファイルを削除します。 - directory クラスも、ファイル ディレクトリを操作するための重要なクラスです。read、rewind、close の 3 つのメソッドがあり、最初にファイル ハンドルを使用して開き、次にポインタを使用して読み取ります。ここで PHP マニュアルを参照してください:

$d = dir("/etc/php5");

echo "ハンドル: " . $d->handle . "/n";

echo "パス: " . $d->path . "/n" ;

while (false !== ($entry = $d->read())) {

echo $entry."/n";
}
$d->close();
?>


出力:

ハンドル: リソース ID #2

パス: /etc/php5

.
..

apache

cgi
cli


の属性ファイルの属性には、所有者、ファイル グループ、タイプ、サイズなどが含まれます。

3. ファイルの操作


まず、ファイルが読み取れるかどうか (権限の問題)、またはファイルが存在するかどうかを確認します。いいえ、is_readable 関数を使用して情報を取得できます。 and<?php

$ file = 'dirlist.php';ファイルには file_exists も含まれています (以下に示します) が、これは明らかに is_readable ほど包括的ではありません。 ファイルが存在する場合、

$file = "filelist.php";

if (file_exists($) file) == false) {

die('ファイルが存在しません');

}

$data = file_get_contents($file);

echo htmlentities($data);
?>



ただし、file_get_contents 関数以前のバージョンではサポートされていません。最初にファイルへのハンドルを作成してから、ポインターを使用してすべてを読み取ることができます。 $data = fread ($fso, filesize ($cacheFile)));ファイル

の書き込みはファイルの読み取りと同じです。まず、次のように書けるかどうかを確認してください:

$file = 'dirlist.php';
if (is_writable( $file) == false) {

file = 'dirlist.php';

if (is_writable($file) == false) {
die('私は鶏の羽です、私はできません')
}
$data = '私は卑劣です、私はwant';
file_put_contents ($file, $data);


file_put_contents 関数は、php5 で新しく導入された関数です (存在するかどうかを知らない場合は、最初に function_exists 関数を使用して確認してください)。異なるバージョンの php は使用できません。

$f = fopen($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 ... unlink 関数の簡単な操作:

$file = 'dirlist.php';
$result = @unlink ($file);
if ($result == false) {
echo '蚊がいなくなった' ;
} else {

echo '削除できません';


以上です:

$file = 'yang.txt ';
$newfile = 'ji.txt'; # このファイルの親フォルダーは書き込み可能でなければなりません
if (file_exists($file) == false) {
die ('サンプルはオンラインではないのでコピーできません') ;
}
$result = copy($file, $newfile);
if ($result == false) {
echo 'コピーメモリok'
?>フォルダーの名前を変更する関数 その他の操作

D. ファイル属性の取得

最新の変更時刻の取得

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


は、キャッシュ技術でもよく使用されるタイムスタンプを返します。最終アクセスの取得 fileatime()、filectime() の時刻 ファイルの権限、所有者、すべてのグループ、または inode 内のその他のメタデータが更新されると、 fileowner() 関数はファイル所有者を返します

$owner = posix_getpwuid(fileowner( $file) );



(非ウィンドウ システム)、ileperms() はファイルのアクセス許可を取得します、

$file = 'dirlist.php';

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

echo $perms;

?>

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



// 出力同様です: somefile.txt : 1024 バイト

$filename = 'somefile.txt';
echo $filename . filesize($filename) . ' bytes';ファイルの情報と戻り配列がある関数 stat() 関数:

$file = 'dirlist.php';

$perms = stat($perms);
?>


詳細な情報を確認できる内容はここでは展開されません

IV. 結論

上記のいくつかのファイル操作に精通している場合は、次のことを簡単にまとめました。操作には大きな問題はありませんが、php ファイル操作の機能は比較的早く変化し、非常に強力になっています。ファイル部分も php を学習する上で非常に重要な部分ですので、無視しないでください。


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

www.bkjia.com

本当

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

技術記事


1. はじめに Web プログラミングでは、ファイルは常に必要なオブジェクトですが、CMS システムでのファイル操作は...


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