php中的文件操作和目录操作
file_get_countents
file_get_contents($filename); // 获取一个文件的内容或一个网络资源的内容.
读取文件和网络资源比较快捷的函数,帮助封装了打开/关闭等操作。
缺点:该函数是一次性把内容全部读出来,放在内存中.因此,如果处理上百兆的大文件,慎用此函数。读取的文件必须要求存在,否则会警告
<?php
$fileFile = './a.txt';
$fileCoutent = file_get_contents($fileFile);
echo $fileCoutent;
echo file_get_contents('http://www.linxingzhang.com');
?>file_put_counents
file_put_contents($filename, $data); 该函数用来把内容写入到文件,快捷函数,帮助封装打开写入的细节
<?php
file_put_contents('./b.txt', '嘻嘻哈哈');
?>判断数据类型
isset(); 变量是否已经声明
empty(); 变量是否为空
defined(); 常量是否已经定义 define();
array_key_exists(mixed key, array serach); 检查给定的键名或索引是否存在于数组中
立即学习“PHP免费学习笔记(深入)”;
is_numeric(mixed var); 检测给定的键名或索引是否存在于数组中
is_bool(); 检测变量是否是布尔型
is_float(); 检测变量是否是浮点型 和 is_double(), is_real() 都一样的用法
is_int(); 检测变量是否是整型is_integer() 一样的用法
is_string(); 检测变量是否是字符串
is_object(); 检测变量是否是一个对象
is_array(); 检测变量是否是数组
is_null(); 检测变量是否为NULL
fopen&fread&fwrite&fclose
fopen($filename, $mode)
参数1:路径
参数2:模式 如:只读模式,如:读写模式,如:追加模式
打开一个文件,返回一个句柄资源
返回值:资源。(通道的作用,沿着通道就能够操作文件。获取了修改这个文件的资格)
fread($handle, $length)
参数1: 资源标识
参数2:读取的长度
返回值:所读取的字符串
读取文件
fwrite($handle, $string);
参数1:资源标识
参数2:内容
返回值:成功字符串数,失败返回false
写入文件
fclose($handle);关闭资源
<?php
$file = './a.txt';
// 返回获取资格的标识
$fh = fopen($file, 'r');
// 沿着上面返回的$fn资源通道来读文件
echo fread($fh, 10);
$rs = fwrite($fh, 'xixihaha');
echo $rs; // 0 // 只读,不允许写入
fclose($fh);
?><?php
$file = './a.txt';
// r+ 读写模式, 并把指针指向文件头
// 覆盖相等字节的字符串
$fh = fopen($file, 'r+');
$rs = fwrite($fh, 'hahahaha');
echo $rs;
echo '<hr />';
// w 写入模式(fread读取不了), 并把文件大小截为0(文件被清空了),指针停于开头处
$file = './modew.txt';
$fh = fopen($file, 'w');
fclose($fh);
echo 'ok';
// a 追加模式 能写,并把指针停止在文件的最后.
$fh = fopen('./modea.txt', 'a');
echo fwrite($fh, '嘻嘻哈哈');
fclose($fh);
?>file
批处理名单
第一种办法:
<?php
$file = './custom.txt';
$cont = file_get_contents($file);
print_r( explode("\n", $cont) );
/**
* 各个操作系统下,换行符并不一致
* win: \r\n
* *nix: \n
* mac: \r
*/
?>第二种办法:
<?php
// 第二种
// 打开,一点点的读取,每次读取一行.
// fgets(); 每次读取一行
$file = './custom.txt';
// $mode 可以加`b`,表示以2进制来处理,不受编码的干扰.
$fh = fopen($file, 'rb');
// feof(), end of file 的意思
// 判断指针是否已经到结尾
while ( !feof($fh) ) {
echo fgets($fh) , '<br />';
}
?>第三种办法:
file(); 直接读取文件内容,并按行拆成数组,返回该数组.
和 file_get_contents(); 的相同之处:一次性读入,大文件慎用.
<?php
// file();
$file = './custom.txt';
$arr = file($file);
print_r($arr);
?>file_exists
file_exists 检查文件或目录是否存在file_exists($filename);
<?php
// 判断文件是否存在
// 获取文件的创建时间/修改时间
$file = './custom.txt';
if ( file_exists($file) ) {
echo $file, '存在', '<br />';
echo '上次修改时间:', date('Y-m-d H:i:s', filemtime($file)), '<br />';
echo '修改时间:', date('Y-m-d H:i:s', filectime($file)), '<br />';
}
?>
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号