ホームページ バックエンド開発 PHPチュートリアル PHP_PHP チュートリアルでのディレクトリ操作とファイル操作

PHP_PHP チュートリアルでのディレクトリ操作とファイル操作

Jul 21, 2016 pm 02:52 PM
php web そして 存在する 物体 操作する 書類 はい 目次 プログラミング コンピューター 装置

Web プログラミングでは、ファイル操作は常に頭の痛い問題ですが、CMS システムではファイル操作が必要であり、次のような操作によく遭遇します。ファイル ディレクトリの生成、ファイル (フォルダー) の編集など。ここで、PHP のこれらの関数の詳細な概要を作成し、それらの使用方法を例とともに示します。対応する関数の詳細については、PHP マニュアルを参照してください。重要な点と注意が必要な点のみをまとめます (PHP マニュアルには記載されていません)

2. ディレクトリ操作

最初に紹介するのは、ディレクトリから読み取る関数、opendir()、readdir です。 ()、closedir() を使用すると、まずファイル ハンドルが開き、次にリストが反復処理されます。

$base_dir = "filelist/"; );

echo $base_dir."


while($flist=readdir($fso)){ echo $flist."
" ) ?>



これは、ファイル ディレクトリ内のファイルとディレクトリを返すプログラムです (ファイルが 0 の場合は false を返します)

ディレクトリ情報を知る必要がある場合は、dirname ($path) を使用できます。パスのディレクトリ部分とファイル名部分をそれぞれ返します。

作成コマンド:

mkdir($path, 0777)

、0777 は許可コードです。非ウィンドウでは、umask() 関数を使用して

rmdir($path)

のパスを持つファイルを削除します。 in $path.

dir -- directory クラスもファイル ディレクトリを操作するための重要なクラスです。read、rewind、close の 3 つのメソッドがあり、これは最初にファイル ハンドルを使用します。次に、ポインタを使用してそれを読み取ります:
$d = dir("/etc/php5");

echo "Handle: " 。ハンドル . "n";

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

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

echo $entry ."n";

}$d->close();?> ;ハンドル: リソース ID #2パス: /etc/php5

.

..

apache

cgi



出力:




cli A. ファイルを読み取ります



ファイルの属性も非常に重要です。ファイル属性には、作成時刻、最終変更時刻、所有者、ファイル グループ、タイプ、サイズなどが含まれます。

ファイルに焦点を当てましょう

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 関数は、以前のバージョンではサポートされていません。まずファイルへのハンドルを作成してから、ポインターを使用してすべてを読み取ることができます。 fopen($cacheFile, 'r');
$data = fread($fso, filesize($cacheFile));
fclose($fso);

$data = implode('', file($file)); の書き込みは、最初に次のように記述できるかどうかを確認します。 $file = 'dirlist .php';

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

die(「私は鶏の羽です、無理です」);

}

?>


B. ファイル
書き込みができる場合は、file_put_contents 関数を使用して次のように入力できます。 false) {
die('私はチキンです、私はできません');

$data = '私は卑劣です、私は欲しいです';

file_put_contents ($file, $data);

file_put_contents 関数は php5 で新しく導入された関数です (存在するかどうかわからない場合は、まず function_exists 関数を使用してください。確認してください) PHP の低いバージョンは使用できません。次の方法を使用できます:

$f = fopen($file, 'w');
fwrite($f, $data) ;



を書き込むときにロックする必要がある場合があります。ファイルを作成し、次のように書き込みます:

function cache_page($pageurl,$pagedata){

if(!$fso=fopen($pageurl, 'w')){

$this->warns('Unableキャッシュ ファイルを開きます。');//trigger_error return false } fclose($ fso); }
if(!flock($fso,LOCK_EX)){//LOCK_NB, row その他のタイプのロック
$this->warns('ロックできませんキャッシュ ファイル。');//trigger_error
return false;
}
if(!fwrite($fso,$pagedata)){//他の形式を書き込むためにシリアル化します
$this->warns('Unable ');//trigger_error
return false;
flock($fso,LOCK_UN);//解放ロック

;

C. ファイルのコピーと削除

php を使用してファイルを削除するのは非常に簡単です:

$newfile = 'ji.txt'; # このファイルの親フォルダー書き込み可能である必要があります
$file = 'dirlist.php'; result = @unlink ($file ; これも簡単です:






$file = 'yang.txt';
if (file_exists($ file) == false) {

die ('デモはオンラインではないためコピーできません')

}

$result = copy($file, $newfile); $result == false) {

echo 'Copy Memory ok'

}

?> echo date( 'r', filemtime($file)) ; ?>

これらの関数を組み合わせて他の操作を実行することもできます。
D. ファイル属性を取得する

いくつかの一般的な関数について説明します:


最新の変更時刻を取得する:



$file = 'test.txt';

は、最終アクセス時刻の取得にも関連しています。 ) ファイルのパーミッションがすべて、またはすべてのグループまたは他の i ノードのメタデータが更新されたとき、fileowner() 関数はファイル所有者を返します。

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

echo $perms;?>



$file = 'dirlist.php';

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

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

// 出力は次のようになります: somefile.txt: 1024 バイト

$filename = 'somefile.txt';

echo $filename ': ' ' bytes';

?>



ファイル全体を取得する 情報には、配列を返す関数 stat() があります。 = stat($file);


そのキーが何に対応しているかについての詳細情報を確認できます。ここでは展開されません。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/371506.html技術記事どのコンピュータ機器においても、ファイルは必要なオブジェクトであり、Web プログラミングでは、ファイル操作は Web プログラマーにとって常に頭の痛い問題であり、CMS システムでもファイル操作は必要です...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

コーディングの鍵: 初心者のための Python の力を解き放つ コーディングの鍵: 初心者のための Python の力を解き放つ Oct 11, 2024 pm 12:17 PM

Python は、学習の容易さと強力な機能により、初心者にとって理想的なプログラミング入門言語です。その基本は次のとおりです。 変数: データ (数値、文字列、リストなど) を保存するために使用されます。データ型: 変数内のデータの型 (整数、浮動小数点など) を定義します。演算子: 数学的な演算と比較に使用されます。制御フロー: コード実行のフロー (条件文、ループ) を制御します。

Python による問題解決: 初心者プログラマーとして強力なソリューションをアンロックする Python による問題解決: 初心者プログラマーとして強力なソリューションをアンロックする Oct 11, 2024 pm 08:58 PM

Python は、問題解決の初心者に力を与えます。ユーザーフレンドリーな構文、広範なライブラリ、変数、条件文、ループによる効率的なコード開発などの機能を備えています。データの管理からプログラム フローの制御、反復的なタスクの実行まで、Python が提供します

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

C の謎を解く: 新人プログラマーのための明確でシンプルな道 C の謎を解く: 新人プログラマーのための明確でシンプルな道 Oct 11, 2024 pm 10:47 PM

C は、初心者がシステム プログラミングを学習するのに最適な選択肢です。ヘッダー ファイル、関数、メイン関数のコンポーネントが含まれています。 「HelloWorld」を印刷できる単純な C プログラムには、標準入出力関数宣言を含むヘッダー ファイルが必要で、main 関数で printf 関数を使用して印刷します。 C プログラムは、GCC コンパイラーを使用してコンパイルして実行できます。基本をマスターしたら、データ型、関数、配列、ファイル処理などのトピックに進み、熟練した C プログラマーになることができます。

See all articles