半吊子菜鸟学Web开发 -- PHP学习3-文件

1 PHP文件系统

1.1 PHP文件的读取


文件读取的函数是file_get_contents,可以将整个文件读到一个字符串之中

$content = file_get_constents('./test.test');//不知道为什么我的电脑里面必须要用绝对路径

也可以控制读取内容的开始点以及长度

PHP也提供类似于C语言操作文件的方法,使用fopen,fgets,fread等方法,fgets可以从文件指针中读取一行,freads可以读取指定长度的字符串。

$fp = fopen('./text.txt', 'rb');
while(!feof($fp)) {
    echo fgets($fp); //读取一行
}
fclose($fp);

``` $fp = fopen('./text.txt', 'rb'); $contents = ''; while(!feof($fp)) { $contents .= fread($fp, 4096); //一次读取4096个字符 } fclose($fp); ``` ### 1.2 判断文件是否存在 *** PHP用来判断是否存在的函数有两个is_file和file_exists. ``` if(file_exits($filename)){ echo file_get_contents($filename); } ``` is_file确切来说是给定的路径是否是一个文件: ``` $filename = './test.txt' if(is_file($filename)){ echo file_get_contents($filename); } ``` is_readable 和 is_writeable,顾名思义,就是判断文件是否可以读写 ``` if (is_writeable($filename)) { file_put_contents($filename, 'test'); } if (is_readable($filename)) { echo file_get_contents($filename); ``` ### 1.3 获取文件属性 *** * fileowner:获得文件的所有者 * filectime:获取文件的创建时间 * filemtime:获取文件的修改时间 * fileatime:获取文件的访问时间
$filename = './test.php';
echo '文件所有者'.fileowner($filename);
echo '文件创建时间'.date('Y-m-d H:i',filectime($filename));
echo '文件修改时间'.date('Y-m-d H:i',filemtime($filename));

1.4 获得文件的大小


文件的大小以字节数表示,我们可以进行转换

$pdfname = '/home/dai/桌面/byte-of-python-chinese-edition.pdf';
$size = filesize($pdfname)/pow(1024,2);
$size = number_format($size, 2);
echo 'byte-of-python-chinese-edition:'.$size.'MB';

1.5 PHP写入文件


与读取文件一样,可以有直接的函数和C风格的写入函数

$filename = './test.txt';
$data = 'test';
file_put_contents($filename, $data);
$fp = fopen('./test.txt', 'w');
fwrite($fp, 'hello');
fwrite($fp, 'world');
fclose($fp);

1.6 删除文件


删除文件

unlink($filename);

删除文件夹

rmdir($filename);

如果文件夹中存在文件,可以先循环删除目录中的所有文件,然后再删除该目录,循环删除可以使用glob函数遍历所有文件。

foreach (glob("*") as $filename) {//glob() 函数返回匹配指定模式的文件名或目录。
    unlink($filename);
}
原文地址:https://www.cnblogs.com/daibigmonster/p/8158769.html