(七)文件——PHP
创始人
2024-01-29 22:13:04
0

文章目录

    • 第七章 文件
      • 1 文件包含
        • **1.1 include()函数**
        • **1.2 require()函数**
      • 2 文件的读取和写入
        • **2.1 文件模式**
        • **2.2 文件读取**
        • **2.3 文件写入**
      • 3 文件上传
        • 3.1 创建表单
        • 3.2 创建脚本
        • 3.3 实例

第七章 文件

1 文件包含

您可以在服务器执行PHP文件之前将其内容包含到另一个PHP文件中。有两个PHP函数可用于将一个PHP文件包含到另一个PHP中。

  • include()函数

  • require()函数

1.1 include()函数

include()函数获取指定文件中的所有文本,并将其复制到使用includ函数的文件中。如果加载文件时出现任何问题,则include()函数将生成警告,但脚本将继续执行。

 
百度 ' ;echo '新浪 ';echo '腾讯
';?>

1.2 require()函数

require()函数获取指定文件中的所有文本,并将其复制到使用include函数的文件中。如果加载文件时出现任何问题,那么require()函数将生成致命错误并停止脚本的执行。

因此,require()和include()除了处理错误条件之外没有区别。建议使用require()函数而不是include(),因为如果文件丢失或命名错误,脚本不应继续执行。


百度 ' ;echo '新浪 ';echo '腾讯
';?>

2 文件的读取和写入

fopen()函数用于打开文件。它需要两个参数,首先说明文件名,然后说明操作模式。

对打开的文件进行更改后,使用fclose()函数关闭它很重要。fclose()函数需要一个文件指针作为参数,然后在关闭成功时返回true,如果失败则返回false。

2.1 文件模式

ModePurpose
r以只读方式打开文件。
r+打开文件进行读取和写入
w打开文件仅写入。
将文件指针放在文件的开头。
并将文件截断为零长度。如果文件没有存在,然后尝试创建文件。
w+打开文件仅用于读取和写入。
将文件指针放在文件的开头。
并将文件截断为零长度。如果文件没有存在,然后尝试创建文件
a仅打开文件进行写入。
将文件指针放在文件的末尾。
如果文件不存在,则会尝试创建文件。
a+打开文件仅用于读取和写入。
将文件指针放在文件的末尾。
如果文件不存在,则会尝试创建文件

2.2 文件读取

下面是用PHP读取文件所需的步骤。

  • 使用fopen()函数打开文件。

  • 使用filesize()函数获取文件的长度。

  • 使用fread()函数读取文件的内容。

  • 使用fclose()函数关闭文件。

echo "Error in opening file";exit();}$filesize = filesize($filename);$filecontent = fread($file, $filesize);fclose($file);echo "File size:".$filesize." bytes.";echo "
";echo "File content:".$filecontent;?>
// testFile.txt
This is the content to be read!

2.3 文件写入

fwrite()函数写入新文件或将文本附加到现有文件。此函数需要两个参数来指定文件指针和要写入的数据字符串。除此之外,可以包括第三个整数参数来指定要写入的数据的长度。如果包含第三个参数,则在达到指定长度后将停止写入。

//	写
echo "error in opening file";exit();}$filecontent = "This is what I want to write";fwrite($file, $filecontent);fclose($file);?>//	读
echo "Error in opening file";exit();}$filesize = filesize($filename);$filecontent = fread($file, $filesize);fclose($file);echo "File size:".$filesize." bytes.";echo "
";echo "File content:".$filecontent;?>

3 文件上传

PHP脚本可以与HTML表单一起使用,以允许用户将文件上传到服务器。一开始,文件被上传到临时目录,然后通过PHP脚本重新定位到目标位置。

通常,在写入文件时,临时位置和最终位置都必须设置允许文件写入的权限。如果其中一个设置为只读,则进程将失败。

上传的文件可以是文本文件图像文件任何文档

上传文件的过程遵循以下步骤:

  • 用户打开包含HTML表单的页面,该表单包含文本文件、浏览按钮和提交按钮。
  • 用户单击浏览按钮并选择要从本地PC上传的文件。
  • 选定文件的完整路径显示在文本字段中,然后用户单击提交按钮。
  • 选定的文件将发送到服务器上的临时目录。
  • 表单的action属性中指定为表单处理程序的PHP脚本会检查文件是否已到达,然后将文件复制到预期目录中。
  • PHP脚本向用户确认成功。

3.1 创建表单





3.2 创建脚本

$_FILES是PHP的全局变量,这个变量是一个关联的二维数组,保存与上传文件相关的所有信息
例如,如果上传表单中输入的name属性值file,那么PHP将创建以下五个变量:

  • **$_FILES[ ‘file’ ] [ ‘tmp_name’ ]**− web服务器上临时目录中的临时文件
  • $_FILES[ ‘file’ ] [ ‘name’ ] − 上传文件的实际文件名
  • $_FILES[ ‘file’ ] [ ‘size’ ] − 上传文件的字节数
  • $_FILES[ ‘file’ ] [ ‘type’ ] − 上传文件的MIME类型
  • $_FILES[ ‘file’ ] [ ‘error’ ] − 与上传文件关联的错误代码
 5098152){$errors[] = "it must be exactly 5MB";}// 判断$errors数组是否为空if (empty($errors) == true) {// 如果errors数组为空,即可将临时文件上传到指定位置move_uploaded_file($file_tmp, "images".$file_name);}else {// 如果errors数组不为空,则打印$errors数组中信息print_r($errors);}}?>

3.3 实例





  • 临时目录中的临时文件:
  • 实际文件名:
  • 文件字节大小:
  • 文件类型:
// 判断name属性值是否是'image'$file_tmp = $_FILES['image']['tmp_name']; // 获取临时目录中的临时文件$file_name = $_FILES['image']['name']; // 获取上传文件的实际文件名$file_size = $_FILES['image']['size']; // 获取上传文件的字节大小$file_type = $_FILES['image']['type']; // 获取上传文件的MIME类型$file_ext = strtolower(end(explode(".", $_FILES['image']['name'])));/*explode():以‘.’作为分割符,将字符串转化为数组end():获取数组最后一个元素strtolower():将全部字符变为小写$file_ext:获取文件名后缀*/$errors = array(); // 用于存储错误信息$extensions = array("jpg","jpeg","png"); // 标记文件扩展名 // 判断$file_ext是否存在指定的文件扩展名数组中if (in_array($file_ext, $extensions) == false) {$errors[] = "extension not allowed";}// 判断文件字节大小是否超过5MBif($file_size > 5098152){$errors[] = "it must be exactly 5MB";}// 判断$errors数组是否为空if (empty($errors) == true) {// 如果errors数组为空,即可将临时文件上传到指定位置move_uploaded_file($file_tmp, "images".$file_name);}else {// 如果errors数组不为空,则打印$errors数组中信息print_r($errors);}}?>

在这里插入图片描述

相关内容

热门资讯

盘点当下最赚钱的无本创业小项目... 创业可以说是现在非常受欢迎的话题,很多人都会想要去创业,去实现自己的梦想,或者说是想改变一下自己的生...
适合小区创业的小本项目有哪些 ... 适合小区创业的小本项目有哪些?创业是每个人都想干的一件事,但是又不知到从何做起,大型的加盟项目投资费...
小区里的小本暴利项目哪些 有哪... 受到疫情影响,今年从年初开始,经济大环境就不算好。大家都在抱怨现在挣钱太难了,市场不景气,都没什么生...
千元小本创业有哪些 2018年... 经济形势的发展下,人民币逐渐贬值。对于创业者来说,想要找到1000元以下创业项目是比较困难的。因为一...
适合小本创业的五个好项目 推荐... 二胎政策开放很久了,儿童行业是具有潜力的市场,现在的家长都很疼爱自己的孩子,很注重孩子的早期教育培训...
2020年最好的创业项目是什么...   还不知道朋友看这里那今天我们就来说几个创业的好项目给大家分享:1、开宠物店,现在的年轻人压力大,...
小本创业代理好项目 小本创业代...  短视频,自媒体,达人种草一站服务最新移动电商创业项目:手机微信制作平台照片书照片书就是把您手机里的...
在四五线小城市有哪些城镇小本创... 如今的生活越来越好,每个人对美好生活的留念越来越重视了,很多人在生活中不管遇到什么样的事情,只要是值...
2019小本创业项目哪个比较好... 现在这些传统行业竞争压力大,投入成本也越来越高了。想要创业但是条件又有限,怎样才能以最小的成本去努力...
投入一千多 有必要理财吗 投入... 摘要:项目:防晒帽子、配饰作为一个赚女人钱的项目,卖防晒帽及配饰还是很不错的。有多少女性朋友,惧怕炎...