yboker 2019-06-30
PHP可以很方便的对目录、文件进行操作,包括创建、读取、修改、删除等。
mkdir 可以创建 pathname 指定目录,默认 mode 是0777,在 windows 下被忽略,失败返回 false。
<?php
mkdir('./test');// 在当前目录创建 test 目录如上所示,rmdir 可以删除目录,需要注意的是该目录必须为空,而且要有权限,失败返回 false。示例
<?php
rmdir('./test');// 删除当前目录下的 test 目录。$filename , mixed $data [, int $flags = 0 [, resource $context ]] )file_put_contents 将 data 写入 filename 文件中,如果没有此文件,则创建,失败返回 false,成功返回写入字节数。示例
<?php
file_put_contents('./test.txt', date('Y-m-d H:i:s'));// 在当前目录创建 test.txt,并且写入数据
file_put_contents('./test.txt', date('Y-m-d H:i:s'), FILE_APPEND);// 在 test.txt 文件中,追加数据offset 所指定的位置开始读取长度为 maxlen 的内容。file_get_cntents 读取 filename 中的内容,返回字符串,失败返回 false。示例
<?php
echo file_get_contents('./test.txt');// 输出当前目录下 test.txt 的内容unlink 删除 filename 文件,同样需要注意权限。示例
<?php
unlink('./test.txt');// 删除当前目录的 test.txtrename 不仅可以文件重命名,还可以移动文件,失败返回 false。示例
<?php
rename('./test.txt', './test1.txt');// 当前目录下的 test.txt 重命名为 test1.txt
rename('./test1.txt', './test/test.txt');// 将当前目录下的 test1.txt, 移动到 test下如上所示,失败返回 false。示例
<?php
copy('./test/test.txt', './test1.txt');// test 目录下的test.txt, 拷贝到当前目录下面是几个实例,工作或面试中会用到。
<?php
/**
* 遍历目录下所有文件
* @param $path
*/
function getAllFiles($path)
{
if (!is_dir($path)) {
exit('错误');
}
echo '<ul>';
foreach (scandir($path) as $line) {
if ($line == '.' || $line == '..') {
continue;
}
if (is_dir($path . '/' . $line)) {
getAllFiles($path . '/' . $line);
}
echo '<li>' . $path . '/' . $line . '</li>';
}
echo '</ul>';
}
/**
* 删除目录下所有文件
* @param $path
*/
function delAllFile($path)
{
if (!is_dir($path)) {
exit('目录不存在');
}
$dir = opendir($path);
while ($filename = readdir($dir)) {
if ($filename != "." && $filename != "..") {
$file = $path . "/" . $filename;
if (is_dir($file)) {
delAllFile($file);
} else {
unlink($file);
}
}
}
closedir($dir);
rmdir($path);
}参考资料:文件系统函数、mkdir、rmdir、file_put_contents、file_get_contents、unlink、rename、copy。
<?php. if (!empty($_POST)) {. $data1 = $_POST["data1"];$data2 = $_POST["data2"];$fuhao = $_POST["fuh