一.目录操作
basename -- 返回路径中的文件名部分
dirname -- 返回路径中的目录部分
pathinfo -- 返回文件路径的信息
realpath -- 返回规范化的绝对路径名
复制代码 代码如下:
$path = 'demo1.php';
$path = realpath($path);
echo basename($path);
echo '
';
echo dirname($path);
echo '
';
$array_path = pathinfo($path);
echo 'basename : '.$array_path['basename'].'
';
echo 'dirname : '.$array_path['dirname'].'
';
echo 'extension : '.$array_path['extension'].'
';
echo 'filename : '.$array_path['filename'].'
';
?>
复制代码 代码如下:
$path ='demo2.php';
$path = realpath($path);
$drive = 'c:';
echo round(filesize($path)/1024,2).'kb'.'
';
echo round(disk_free_space($drive)/1024/1024/1024,2).'GB'.'
';
echo round(disk_total_space($drive)/1024/1024/1024,2).'GB'.'
';
?>
复制代码 代码如下:
$file = realpath ( '../Basic5/demo3.php' );
$date_format = 'Y-m-d h:i:s';
echo 'lastest accessing time : '.date ( $date_format, fileatime ( $file ) ) . '
';
echo 'lastest change time : '.date ( $date_format, filectime ( $file ) ) . '
';
echo 'lastest modify time : '.date ( $date_format, filemtime ( $file ) ) . '
';
?>
mode |
说明 |
'r' |
只读方式打开,将文件指针指向文件头。 |
'r+' |
读写方式打开,将文件指针指向文件头。 |
'w' |
写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
'w+' |
读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。 |
'a' |
写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
'a+' |
读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。 |
'x' |
创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。 |
'x+' |
创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给 底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。 |
复制代码 代码如下:
$fp = fopen('file1.txt','w');
$outStr = "my name is anllin,\r\nmy age is 29.";
fwrite($fp,$outStr,strlen($outStr));
fclose($fp);
?>
复制代码 代码如下:
file_put_contents('file2.txt',"my name is anllin,\r\nmy age is 29.");
?>
函数 |
功能 |
Fgetc() |
读出一个字符,并将指针移到下一个字符 |
Fgets() |
读出一行字符,可以指定一行显示的长度。 |
Fgetss() |
从文件指针中读取一行并过滤掉HTML标记 |
Fread() |
读取定量的字符 |
Fpassthru() |
输出文件到指定处的所有剩余数据 |
File() |
将整个文件读入数组中,以行分组 |
Readfile() |
读入一个文件并写入到输出缓冲 |
File_get_contents() |
将整个文件读入一个字符串 |
Feof() |
判断读完文件函数 |
File_exists() |
查看文件是否存在 |
コードをコピー コードは次のとおりです:
$fp = fopen('file1.txt', 'r');
echo fgetc($fp);
出力:
my
コードは次のとおりです: $fp = fopen('file1.txt','r');
echo fgets($fp); fclose($fp);
?
出力
私の名前は anllin、年齢は 29 です。
fgetss -- ファイル ポインタから 1 行を読み取ります。 out HTML タグ
$fp = fopen( 'file3.txt','w'); $outStr = "私の名前は anllin";
fwrite($fp,$outStr,strlen($outStr));fclose($fp);
$ ftp = fopen('file3.txt','r');
fclose($ftp); ?>
出力
my name is anllin
fread -- ファイルを読み取ります (バイナリ ファイルに対して安全です)
$filename = 'file1.txt'; $fp = fopen($filename,'r') ; $contents = fread($fp,filesize ($filename)); fclose($fp)>
my name is anllin, my age is 29 を出力します。
fpassthru -- ファイル ポインターにある残りのデータをすべて出力します
コードをコピーします
出力 私の名前はアンリンです29. 33 file -- ファイル全体を配列に読み込みます In
コードをコピー
コードは次のとおりです:
$lines = file('file1.txt' );
foreach ($lines as $line_num => $line)
{
出力 0 : 私の名前はアンリンです、 1 : 私の年齢は29. readfile -- ファイルを出力します
コードをコピー
コードは次のとおりです:
$size = readfile('file1.txt');
echo $size;
コードをコピー コードは次のとおりです:
$contents = file_get_contents('file1.txt');
echo
?>
コードをコピー コード
$fp = fopen('file1.txt' ,'r');
while(!feof($fp))
{
echo fgetc($fp);
}
コードをコピー
コードは次のとおりです:
$filename = 'file1.txt'; 🎜>if(file_exists($filename))
{
echo 'ファイルの読み取りおよび書き込み操作を実行します';
}
else
{
出力 ファイルの読み取りおよび書き込み操作を実行しますfilesize -- ファイル サイズを取得します
コードをコピー
コードは次のとおりです。
$file_size = filesize(' file1.txt'); >echo $file_size;
?>
出力
33
リンク解除 -- ファイルを削除
$isDeleted = unlink('file3.txt');
echo $isDeleted;
コードをコピー コードは次のとおりです。
$fp = fopen ( 'file1.txt', 'r' );
fgetc ( $fp );
echo ftell ( $fp ) ;
rewind ( $fp ); $fp ) ;
fgetc ( $fp );
echo ftell ( $fp ); ($fp,0) ;//巻き戻し ($fp)
echo ftell ( $fp ) '
?> と同じ。 🎜>2
0
2
0
フロックの操作値
flock -- 軽量の相談ファイルのロック
操作值 |
意义 |
LOCK_SH(以前为1) |
读写锁定。这意味着文件可以共享,其他人可以读该文件 |
LOCK_EX(以前为2) |
写操作锁定。这是互斥的,该文件不能被共享 |
LOCK_UN(以前为3) |
释放已有的锁定 |
LOCK_NB(以前为4) |
防止在请求加锁时发生阻塞 |
$fp = fopen($filename,'rb'); flock($fp,LOCK_EX);//ロックされた $contents = fread($ fp, filesize($filename)); flock($fp,LOCK_UN);// ロック解除 fclose($fp); >
出力私の名前は anllin、年齢は 29 です。
ディレクトリ ハンドル操作
opendir -- ディレクトリ ハンドルを開きます
readdir -- ディレクトリ ハンドルからエントリを読み取ります
closedir --ディレクトリハンドルを閉じます
コードをコピー
コードは次のとおりです:
?> . ..
.buildpath.project
.settings
demo1.php
demo10.php
demo11.php
demo12.php
demo13.php
demo14.php
demo15.php
demo16.php
output ...buildpath .project
.settingsdemo1.php
demo10.php
demo12.php
demo13 .php
demo14 .php
demo15.php
demo16.php
demo17.php
demo18.php
出力 <🎜; >ファイル名の変更が成功しました rmdir -- ディレクトリを削除します
コードをコピー
コードは次のとおりです:
php
rmdir('123');
if(file_exists('123'))
{
echo 'ファイルの削除に失敗しました'
}
{
echo 'ファイルの削除に成功しました';