php处理文件,PHP文件处理

PHP文件处理

fopen()函数用于在PHP中打开文件夹

打开文件

文件打开模式

r 只读。在文件的开头开始。

r+读/写。在文件的开头开始。

w只写。打开并清空文件的内容;如果文件不存在,则创建新文件。

w+读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。

a追加。打开并向文件末尾进行写操作,如果文件不存在,则创建新文件。

a+读/追加。通过向文件末尾写内容,来保持文件内容。

x只写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。

x+读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。

如果文件不能被打开

如果fopen()函数无法打开指定文件,则返回0(false)

如果fopen()函数不能打开指定的文件,下面的实例会生成一段消息

检测文件末尾(EOF)

feof()函数检测是否已经达到文件末尾(EOF)。

在循环遍历位置长度数据时,feof()函数很有用

实例 if(feof($file)) echo "文件结尾";

逐行读取文件

fgets()函数用于从文件中逐行读取文件。

注释:在调用该函数之后,文件指针会移动到下一行。

实例:

while(!feof($file)) //判断是否到文件结尾

{echo fgets($file). "
"; //打印当前行数据

}fclose($file);?>

文件上传

创建一个文件上传表单

php教程(runoob.com)

文件名:

标签的enctype属性规定了在提交表单时要使用哪种内容类型,在表单需要二进制数据时,比如说文件内容,可以使用multipart/form-data

创建上传脚本,获取文件相关信息

<?phpif ($_FILES["file"]["error"]>0){echo "错误:".$_FILES["file"]["error"]."
";

}else{//获取文件信息

echo "上传文件名".$_FILES["file"]["name"]."
"; //label标签的file属性

echo "文件类型".$_FILES["file"]["type"]."
";echo "文件大小".(_FILES["file"]["size"]/1024)."KB
";echo "文件临时存储位置".$_FILES["file"]["tmp_name"];

}?>

上传限制

用户只能上传GIF,jpeg,jpg,png文件,且文件大小必须小于200kb

//判断文件类型

if((($_FILES["file"]["type"] == "image/gif")||($_FILES["file"]["type"] == "image/jpeg")||($_FILES["file"]["type"] == "image/jpg")||($_FILES["file"]["type"] == "image/png"))&&($_FILES["file"]["size"] < 204800) //小于200KB

&& in_array($extension,$allowedExts))

{if($_FILES["file"]["error"]>0){echo "错误:".$_FILES["file"]["error"]."
";

}else{//获取文件信息

echo "上传文件名".$_FILES["file"]["name"]."
"; //label标签的file属性

echo "文件类型".$_FILES["file"]["type"]."
";echo "文件大小".(_FILES["file"]["size"]/1024)."KB
";echo "文件临时存储位置".$_FILES["file"]["tmp_name"];//判断当前目录下的upload目录是否存在该文件

//如果没有upload目录,就创建

if(file_exists("upload/".$_FILES["file"]["name"]))

{echo $_FILES['file']["name"]."文件已存在";

}else{//如果upload目录不存在该文件则将文件上传到upload目录下

move_uploaded_file($_FILES['file']['tmp_name'],"upload/".$_FILES['file']['name']);echo "文件存储在:" . "upload/".$_FILES['file']['name'];

}

}

}else{echo "非法的文件格式";

}?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值