1. PHP文件操作概述
PHP作为一种服务器端脚本语言,其功能非常强大,除了可以输出HTML、XML等格式的数据外,还可以进行文件读写操作、数据库访问等。本篇文章主要介绍文件读写操作。
2. 文件读操作
2.1 文件读取函数
PHP中,可以使用fopen()函数打开一个文件,再使用fread()函数将文件内容读取到字符串中,最后使用fclose()函数关闭文件。
$file = fopen("test.txt", "r");//打开文件
$data = fread($file, filesize("test.txt"));//读取文件内容到变量中
fclose($file);//关闭文件
fopen()函数的第一个参数指定要打开的文件路径,注意路径需要与PHP文件在一起保存在同一个目录下。第二个参数指定文件打开方式,"r"表示以只读方式打开文件。其他打开方式包括:"w"写方式、"a"追加方式等。
filesize()函数用于获取文件大小。
2.2 逐行读取文件内容
如果要对文本文件进行逐行读取,可以使用fgets()函数读取一行内容。
$file = fopen("test.txt", "r");//打开文件
while(!feof($file)){
$line = fgets($file);//逐行读取
echo $line."";
}
fclose($file);//关闭文件
其中,feof()函数用于判断文件是否已经读到了末尾,如果已经读完,则返回true。
3. 文件写操作
3.1 文件写入函数
如果要将数据写入到文件中,则可以使用fwrite()函数。
$file = fopen("test.txt", "w");//打开文件
fwrite($file, "Hello World");//向文件中写入内容
fclose($file);//关闭文件
也可以使用file_put_contents()函数一次性写入整个文件内容。
file_put_contents("test.txt", "Hello World");//向文件中写入内容
3.2 追加文件内容
如果要在文件末尾追加内容,则需要使用"a"方式打开文件,并使用fwrite()函数写入文件内容。
$file = fopen("test.txt", "a");//以追加方式打开文件
fwrite($file, "Hello World");//向文件中写入内容
fclose($file);//关闭文件
4. 文件操作中的错误处理
如果文件读写操作出现错误,需要及时捕获错误信息并进行处理。
4.1 错误代码
PHP中,如果文件操作出现错误,会返回一个错误代码,可以使用以下语句查看错误代码:
echo "Error Code: ".error_get_last()["type"]."";
echo "Error Message: ".error_get_last()["message"]."";
4.2 错误处理
可以使用try-catch语句处理文件读写操作中的异常。
try{
$file = fopen("test.txt", "r");//打开文件
if(!$file) {
throw new Exception('文件打开失败');//手动抛出异常
}
$data = fread($file, filesize("test.txt"));//读取文件内容到变量中
fclose($file);//关闭文件
}catch(Exception $e){
echo 'Caught exception: ', $e->getMessage(), "";
}
5. PHP文件读写操作示例
5.1 读取CSV文件
下面的示例代码将会读取一个CSV文件,并将其中的数据输出到页面上。
$file = fopen("data.csv", "r");//打开CSV文件
if(!$file) {
throw new Exception('文件打开失败');//手动抛出异常
}
echo "
";
while($data = fgetcsv($file)){//逐行读取CSV文件
echo "
";
foreach ($data as $value){
echo "
".$value." ";
}
echo "
";
}
echo "
";
fclose($file);//关闭CSV文件
注:fgetcsv()函数用于从CSV文件中读取一行数据,返回一个数组,数组中每个元素表示一个数据项。