当前课程知识点:PHP程序设计 > PHP文件和图像技术 > 文件概述和操作 > 文件概述和操作1
同学们大家好
今天我们来学习PHP程序设计课程第七章
PHP文件与图像技术
在计算机中各种数据信息和程序
主要以文件的形式存储
在任何编程语言中都会涉及对文件的处理
WEB编程也是一样
在WEB网业中基本都离不开图片
PHP拥有强大的图像处理功能
本章将对文件和图像技术的
以下四个部分进行讲解
第一PHP文件的概述与操作
第二文件的上传和下载
第三PHP图像基础
第四图像的常见操作
我们首先来学习一下文件的概述
那么文件在程序里面是怎么样来回传输的呢
它是以流的形式来回传输的
流是数据在数据源也就是文件和程序之间
经历的一个路径
文件流注意
它是通过http协议里面的POST
或GET数据的过程
传输的一方直接将一个二进制流的方式
传送某个文件的内容
这样就形成了一条文件流
那么接收方只需要把接生的流内容
直接写进文件即可了
所以流是根据数据传输的一个方向
有一个输入流有一个输出流对吧
我们可以看这样一张图
咱们可以理解为输入流和输出流就是两根水管
那么输入流就是从文件数据源传输到程序
而输出流就是从程序传输给文件
我们可以想象成一种输入
或者输出的一种管道对吧
文件流中的输入输出都是相对于程序
对吧咱们是相对于程序而言的
那么在计算机里面
文件可以分成多种类型
那么咱们同学是上过大一的计应基础的
在大一的计应基础里面
同学们都学了什么文件名由两个部分组成
点前面的是什么
是自定义的文件名
点后面的是什么文件的类型
比如说有.doc对不对
.txt对不对
这样子的东西有文本
然后有.jpeg对吧图片
然后.mp3
还有视频对吧这样子的东西
那么咱们在计算机内的常见文件类型
和刚刚我们说的好像都不一样
你看看都是这些东西
什么块设备文件
字符设备文件 目录
这个目录看着还有点眼熟
dir对吧目录
那么还有命名管道对吧
还有普通文件类型
那么还有符号链接
还有一个未知类型
因为我们一般情况下
都是在Windows下去看的
那么PHP对文件系统操作
是基于UNIX系统的模型的
所以在Windows下
咱们只能获得三种文件类型
就是刚才看了这么多
其实只能获得谁呢
只能获得目录这个
然后只能获得普通文件类型
如果这两个都不是的话
直接就是未知类型了
只能获得这三种
那么在UNIX是里面
才能上表里面的所有的类型才能看到
我们为了方便获取文件类型
PHP肯定是提供各种各样的函数对吧
那么这个函数我们就是来获取文件类型的
那么这个地方我就有一个例子了
有一个例子我们来看一下
那么我们给两个变量
这两个变量目前都是空字符串
咱们给这两个变量传上两种文件
然后让它来判断一下它的类型都是什么
对吧
咱们就传咱们最传统的文件吧
咱们一定有的
就是一会儿如果同学们想试的话
就是一定有的
我们在C盘wamp www下
是不是一定有这个index.php
对吧大家都装的这个机子
那么我直接就复制
这块粘贴
需要改什么这个
斜线对吧需要改这个斜线
因为Windows下的这条线是不一样的
然后我再写上index.php
那么这是一种文件类型
咱们说它是一个PHP文件
一会儿我们看看
在这个计算机系统里面它算是什么文件
第二个我们再来粘一个
摘谁呢就粘我们的C盘wamp/www
www在咱们计算机里面是一个什么呀
文件夹对不对
那我们来看看这个文件夹在文件系统里面
算是一种什么样的类型
大家可以先想一想
首先我们可能只有三种结果对不对
那么PHP肯定是一种文件
或者如果计算机识别不了
说不定就未知了
那么它应该是什么呢
是不是就是那个dir
目录对吧
就是那个目录了
我们来看一下结果
好的
果然上面的这个还能认得出来
上面的这个就是一个file
是一个文件
下面的就是一个dir
对吧是一个dir
接着往下看
那么文件的属性
刚才咱们获取的是文件的类型
文件的属性也有一系列的函数
来获取这些属性
那么这些属性大家可以看一下
都能够获取什么属性呢
大小 创建时间 修改时间
上次访问时间 可读 可写 可执行
是不是一个正常的文件
是不是一个目录
还要给出文件信息都有对应的内存函数
那么前面四个什么大小时间
这些返回的都是什么
int对不对
返回的都是int也就是我们是一个结果
那么后面的这五个判断什么可读可写
是否执行的时候
返回的都是一个什么
布尔型
也就是判断的是一个真或假
所以呢那我们出现布尔型的这种
也就是is开头的这种意味着同学们
咱们可能都是在if语句里面
作为条件去写的对吧去判断的
比如说各位同学上网报名的时候
如果大家经常传那个照片吧
传照片如果不合适
它一定会给你弹一个框
说不定就会告诉你说
你所传的照片什么太大
是不是让你再压缩或者再剪切对不对
有这样子的
那它怎么知道你传的东西太大了呢
它怎么知道呢
是不是我们可以获取文件大小来判断一下
后台写了这样子的东西
那么我们为什么要限制
用户想传个多大的就传个多大就行了呗
为什么要要限制呢
就是我说的
那么我们不能确定计算机前
用你系统的人一定是一个对吧
一定是一个正常的用户
他说不定是想来找漏洞的
那他说不定会传一个极大的东西
那么这个极大的东西
咱们上传上来的东西
都是要保存到服务器端的某个文件夹里面去的
你这个极大东西
说不定直接就让你的服务器给崩了对吧
所以呢
我们往往都是要做这一系列的判断呢
对吧要做这一系列的判断
-PHP概述
-PHP概述--作业
-开发环境搭建
--开发环境搭建一
--开发环境搭建二
--集成环境的安装
-开发环境搭建--作业
-PHP语法入门
--语法入门一
--语法入门二
-PHP数据的输出
--数据输出
-PHP数据类型
--数据类型1
--数据类型2
--数据类型3
--数据类型4
--数据类型5
--数据类型6
-PHP常量和变量
--常量和变量1
--常量和变量2
--常量和变量3
--常量和变量4
--常量和变量5
--常量
-PHP常量和变量--作业
-PHP的运算符和表达式
--运算符和表达式1
--运算符和表达式2
--运算符和表达式3
-PHP语法基础--PHP的运算符和表达式
-条件判断语句
--条件判断语句1
--条件判断语句2
--条件判断语句3
--条件语句
-循环控制语句
--循环控制语句
--循环语句练习1
--循环语句练习2
-跳转语句和终止语句
--跳转和终止语句
-流程控制
-数组概述和分类
--数组概述和分类
--PHP数组分类
-数组创建、删除和修改
--数组创建
-数组遍历
--数组遍历1
--数组遍历2
--数组遍历3
--数组遍历4
--数组遍历5
--foreach
-数组相关函数
--数组相关函数1
--数组相关函数2
--数组相关函数3
--数组相关函数4
--数组相关函数5
--数组相关函数6
--数组函数的练习
-PHP数组--作业
-分页函数的应用
-函数的定义与调用
--函数定义与调用
-函数参数传递
--函数参数传递1
--函数参数传递2
-自定义函数总结和实验
-常用变量和数学函数
--变量和数学函数库
--数学函数实验
--数学函数
-日期和时间函数
--日期时间函数1
--时间日期函数2
--倒计时
-PHP函数--作业
-字符串概述
--字符串特点
--字符串处理方式
-常见的字符串函数
--常见字符串函数1
--输出函数1
--输出函数2
--输出函数3
--去除空白函数1
--去除空白函数2
--去除空白函数3
--其他字符串函数1
--其他字符串函数2
--字符串函数实验1
--字符串函数实验2
--字符串函数实验3
--字符串函数实验4
--字符串练习1
--字符串练习2
--字符串练习3
--字符串练习4
--字符串练习5
--字符串函数
-正则表达式
--正则表达式练习
--正则表达式
-字符串函数--作业
-文件概述和操作
--文件概述和操作1
--文件概述和操作2
-文件的上传和下载
--文件上传1
--文件上传2
--文件上传3
--文件下载
-图像基础
--图像基础1
--图像基础2
-图像基本操作
--图像基本操作1
--图像基本操作2
--图像基本操作3
--图像基本操作4
--图像基本操作5
--图像基本操作6
--表单与验证码的结合
--图像技术练习1
--图像技术练习2
--图像技术练习3
--缩略图
-PHP文件与图像技术-作业
-变色验证码
-会话表单
--会话表单概述1
--会话表单概述2
--会话表单概述3
--超全局变量1
--超全局变量2
--超全局变量3
--表单安全验证
--获取表单数据
-cookie概述
--COOKIE简介
--COOKIE
-session概述
--基本应用1
--基本应用2
-会话管理-作业
-会话管理
-MySQL和PHPMyadmin概述
--MySQL概述1
--MySQL概述2
-PHP访问MySQL
--连接服务器
--选择数据库
--浏览表内容1
--浏览表内容2
--使用mysqli扩展添加数据到数据库中
--使用mysqli扩展删除数据库中数据
--使用mysqli扩展修改数据库中数据
-MySQL扩展的使用
--添加数据页面1
--添加数据页面2
--删除页面1
--删除页面2
--删除页面3
--数据修改页面1
--数据修改页面2
--数据修改页面3