1. はじめに
Web プログラミングでは、ファイル操作は常に頭の痛い問題ですが、CMS システムではファイル ディレクトリの生成などの操作が非常に便利です。ここでは、PHP のこれらの関数の詳細な概要を作成し、その使用方法を例を示して説明します。対応する関数の詳細については、PHP マニュアルを参照してください。重要な点と注意が必要な点 (PHP マニュアルには記載されていません)
2. ディレクトリ操作
最初の導入は、ディレクトリから読み取る関数、opendir()、readdir()、closedir() です。使用すると、最初にファイル ハンドルが開かれ、次に反復的にリストされます。
$base_dir = "filelist/"; $fso = opendir($base_dir); echo $base_dir." " ; while($flist=readdir($fso)){ echo $flist." " ; } closedir($fso) ?> |
ディレクトリ情報が必要な場合は、dirname($path) とbasename($path) を使用して、それぞれパスのディレクトリ部分とファイル名部分を返すことができます。空き容量。
コマンドの作成:
mkdir($path,0777) |
rmdir($path) |
dir -- directory クラスも、ファイル ディレクトリを操作するための重要なクラスです。これには、read、rewind、close という 3 つのメソッドがあり、最初にオープン ファイル ハンドルを使用し、次に使用します。ポインタをお読みください。ここで PHP マニュアルを参照してください:
$d = dir("/etc/php5"); echo "Handle: " . $d->handle . "n"; echo "Path: " . $d->path . "n"; while (false !== ($entry = $d->read())) { echo $entry."n"; } $d->close(); ?> |
ハンドル: リソース ID #2
|
$file = 'dirlist.php'; if (is_readable($file) == false) { die('文件不存在或者无法读取'); } else { echo '存在'; } ?> |
ファイルの存在を確認する関数には file_exists も含まれています (以下に示します) が、これは明らかに is_readable ほど包括的ではありません。ファイルが存在する場合は、
を使用できます。
if (file_exists($file) == false) { die('ファイルが存在しません'); } $data = file_get_contents($file); echo htmlentities($data); ?> |
$fso = fopen($cacheFile, 'r'); $data = fread($fso, filesize($cacheFile)); fclose($fso); |
バイナリ ファイルを読み取る別の方法もあります:
$data = implode('', file($file)); |
B. ファイルを書き込む
ファイルの読み取りと同じように、最初に書き込み可能かどうかを確認します:
if (is_writable($file) == false) { die("私は鶏の羽です、私はできません" ); } ?> |
$file = 'dirlist.php'; if (is_writable($file) == false) { die('我是鸡毛,我不能'); } $data = '我是可鄙,我想要'; file_put_contents ($file, $data); ?> |
file_put_contents 関数は php5 で新しく導入された関数です (存在しない場合は、function_exists 関数を使用して最初に確認してください)。以下の方法を使用できます。
$f = fopen($file, 'w'); fwrite($f, $data); fclose($f); |
交換してください。
ファイルを書き込むときに、ファイルをロックしてから次のように書き込む必要がある場合があります。
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)){//写入字节流,serialize写入其他格式 $this->warns('无法写入缓存文件.');//trigger_error return false; } flock($fso,LOCK_UN);//释放锁定 fclose($fso); return true; } |
C. ファイルのコピーと削除
PHP でのファイルの削除は、unlink 関数を使用するだけで非常に簡単です。
$file = 'dirlist.php'; $result = @unlink ($file); if ($result == false) { echo '蚊子赶走了'; } else { echo '无法赶走'; } ?> |
以上です。
ファイルのコピーも簡単です:
$newfile = 'ji.txt'; # このファイルの親フォルダーは書き込み可能でなければなりません if (file_exists ( $file) == false) { die ('デモはオンラインではないためコピーできません') } $result = copy($file, $newfile); br/>if ($result == false) { echo 'コピーメモリOK' } ?> |
echo date('r', filemtime($file)); |
$owner = posix_getpwuid(fileowner($file)); |
$owner = posix_getpwuid(fileowner($file));
|
$file = 'dirlist.php'; |
$file = 'dirlist.php'; |
// 输出类似:somefile.txt: 1024 bytes $filename = 'somefile.txt'; ?> |
echo $filename . ' . filesize($filename) '; ?> |

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。
