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

PHPファイル操作サンプルコード_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:18:38718ブラウズ

まずは簡単な例を示します

コードをコピー コードは以下の通りです:

if(!is_dir('txt'))//txtがフォルダディレクトリかどうかを判定
{
mkdir( 'txt');//txt という名前のフォルダーディレクトリを作成します
$open=fopen('txt/in.txt',"w+");//ファイルを読み書きモードで開きます
if( is_writable('txt /in.txt'))//このファイルが書き込み可能モードの場合
{
if(fwrite($open,"今日はいい天気ですね、幸せになってください! "- -"")>0) // コンテンツを書き込みます
fclose($open);// ファイルを閉じます
echo "<script>alert('Write success');</script>";// 成功プロンプトを出力します
}
}
else
{
if(is_file('txt/in.txt'))//in.txt ファイルがディレクトリに存在するかどうかを判断します
{
if(is_readable('txt/in.txt'))//ファイルがあるかどうかを判断します読み取れる
{
echo file_get_contents('txt/in.txt');//テキスト情報を出力
unlink('txt/in.txt');//.txt内のファイルを削除
rmdir('txt');/ /ディレクトリを削除
}
}
}
?>

1. はじめに

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

2. ディレクトリ操作

最初に紹介するのは、ディレクトリから読み取る関数、opendir()、readdir()、closedir() です。使用する場合は、最初にファイル ハンドルを開き、次にそれを繰り返しリストします:
コードをコピーします コードは次のとおりです:
$base_dir = "filelist/";
echo $base_dir."
" ; $flist=readdir($fso)){
echo $ flist."
;
closedir($fso)


; これは以下のファイルとディレクトリを返すプログラムです。ファイルディレクトリ (0 個のファイルは false を返します)

はい ディレクトリ情報を知る必要がある場合、dirname($path) とbasename($path) を使用して、それぞれパスのディレクトリ部分とファイル名部分を返すことができます。空き領域を返すには、disk_free_space($path) を使用できます:
mkdir($path,0777)

,0777 は、非環境下で umask() 関数で設定できます。 -window 条件

rmdir($path)

は $path のパスを持つファイルを削除します。 - - directory クラスは、read、rewind の 3 つのメソッドを持ちます。これは疑似オブジェクト指向のクラスです。最初にファイル ハンドルを使用してファイルを開き、次にポインターを使用してファイルを読み取ります。ここで php マニュアルを参照してください:



コードをコピーします。


$d = dir("/etc/php5");
echo "ハンドル: " . $d->handle "n"; $d->path . "n";
while (false !== ($entry = $d->read()) {
echo $entry cli ファイルの属性も非常に重要です。 . ファイルの属性には、作成時刻、最終変更時刻、所有者、ファイル グループ、タイプ、サイズなどが含まれます。
以下のファイル操作に焦点を当てましょう

3. ファイルの読み取り

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



コードをコピーします

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

$file = 'dirlist.php';
if (is_readable($file) == false) {
die('ファイルが存在しないか、読み取ることができません')
} else {
echo '存在します';
? >


ファイルの存在を確認する関数には file_exists も含まれていますが (以下に示します)、これは明らかに is_readable ほど包括的ではありません。

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


$file = "filelist.php";
if (file_exists($file) == false) {
die('ファイルが存在しません');
$data = file_get_contents($file);
echo htmlentities($data);
ただし、file_get_contents 関数は以前のバージョンではサポートされていません。まずファイルへのハンドルを作成してから、ポインターを使用してすべてを読み取ることができます。

$fso = fopen($cacheFile, 'r'); fread($fso , filesize($cacheFile));
fclose($fso);

$data = implode('', file($file)); という方法もあります。ファイルの書き込み

はファイルの読み取りと同じで、まず書き込み可能かどうかを確認します:



コードをコピーします

コードは次のとおりです:
$file = 'dirlist. php';
if (is_writable($file) == false) {
die("私は鶏の羽です、私はできません")
?>


を書くことができます。書き込む file_put_contents 関数:



コードをコピー

コードは次のとおりです:
$file = 'dirlist.php' if (is_writable($file) == false) { die('私はチキンです、私はできません');
$data = '私は卑劣です、私は欲しいです';
file_put_contents ($file, $data);


file_put_contents 関数php5 で新しく導入された関数です (存在を知らない場合は、function_exists 関数を使用して最初にそれを確認してください) (a) 低いバージョンの 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 return false;
}
flock( $fso,LOCK_UN);//ロックを解放します
fclose( $fso);
return true;


● ファイルのコピーと削除

unlink 関数を使用するのは非常に簡単です:



コードをコピーします。次のように:


$file = 'dirlist.php';
$result = @unlink ($file);
if ($result == false) {
echo '蚊を追い払う '; } else {
echo 'Can't get red';
?>

ファイルのコピーも簡単です:
コードは次のとおりです:
< ;?php
$file = 'yang.txt';
$newfile = 'ji.txt'; # このファイルの親フォルダーは書き込み可能でなければなりません
if (file_exists($file) == false) {
die ( 'サンプル オンラインではないのでコピーできません');
$result = copy($file, $newfile); {
echo 'メモリをコピーできました'
?>

rename() 関数を使用してフォルダーの名前を変更することができます。
● ファイル属性を取得する

いくつかの一般的な関数について説明します。
最新の変更時刻を取得する:
コードをコピーします コードは次のとおりです:

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

Return Unix タイムスタンプと言えば、これはキャッシュ テクノロジでよく使用されます。

関連するものとして、ファイルのアクセス許可、所有者、すべてのグループ、または i ノード内のその他のメタデータの最終アクセス時刻の取得もあります。が更新されると、fileowner() 関数はファイルの所有者を返します

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

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


コードをコピーします

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


$file = 'dirlist.php'; $perms = substr(sprintf('%o', fileperms($file)), echo $perms; ?>
filesize() はファイルサイズのバイト数を返します:




コードをコピーします

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

// 出力は次のようになります: somefile.txt: 1024 バイト
$filename = 'somefile.txt';
echo $filename . ': ' ' bytes'; > ;

ファイルのすべての情報を取得するには、配列を返す関数 stat() があります:

コードをコピーします コードは次のとおりです:
$ file = 'dirlist.php';
$ perms = stat($file);
var_dump($perms);
?> 上記の関数に習熟していれば、大きな操作は必要ありません。 PHP ファイル操作の機能はすぐに変化し、非常に強力になっています。この部分は PHP を学習する上でも非常に重要です。無視しないでください。


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

www.bkjia.com

tru​​e

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

まず、次のようにコードをコピーする簡単な例を送信します: ?php if(!is_dir('txt'))//txt がフォルダー ディレクトリであるかどうかを判断する { mkdir('txt');//txt Directory という名前のフォルダーを作成します$open=fopen('...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHP イメージ検証コードの作成と実装の共有 (完全版)_PHP チュートリアル次の記事:PHP イメージ検証コードの作成と実装の共有 (完全版)_PHP チュートリアル

関連記事

続きを見る