位置: 编程技术 - 正文

php 目录与文件处理-郑阿奇(续)(php显示文件目录及路径)

编辑:rootadmin
1.文件目录操作 最顶层止录是磁盘根目录,用'/'或'//' 当前目录 ./ ../表示apache的目录即htdocs目录 1.创建与删除目录 mkdir 2.获取和更改当前目录 使用getcwd()函数可以取得当前的工作目录,该函数没有参数。成功则返回当前的工作目录,失败则返回FALSE 3.打开和关闭目录句柄 opendir($dir) closed($dir_handle) 4.读取目录内容 readdir(),该参数是一个已经打开的目录句柄,与while循环可以实现对目录的遍历 5.获取指定路径中的目录与文件 。 array scandir(string $directory [, int $sorting_order [, resource $context ]]) 说明:$directory为指定路径。参数$sorting_order默认是按字母升序排列,如果设为1表示按字母的降序排列。 $context是可选参数,是一个资源变量,可以用stream_context_create()函数生成,这个变量保存着与具体的操作对象有关的一些数据。 函数运行成功则返回一个包含指定路径下的所有目录和文件名的数组,失败则返回FALSE 2.操作文件的一般方法 3.文件的打开与关闭 1.打开文件 resource fopen(string $filename , string $mode [, bool $use_include_path [, resource $context ]]) ●$filename参数。fopen()函数将$filename参数指定的名字资源绑定到一个流上 ●$mode参数。$mode参数指定了fopen()函数访问文件的模式,取值见表4.5。 $mode 说 明 'r' 只读方式打开文件,从文件头开始读 'r+' 读写方式打开文件,从文件头开始读写 'w' 写入方式打开文件,将文件指针指向文件头。如果文件已经存在则删除已有内容,如果文件不存在则尝试创建它 'w+' 读写方式打开文件,将文件指针指向文件头。如果文件已经存在则删除已有内容,如果文件不存在则尝试创建它 'a' 写入方式打开文件,将文件指针指向文件末尾,如果文件已有内容将从文件末尾开始写。如果文件不存在则尝试创建它 'a+' 读写方式打开文件,将文件指针指向文件末尾。如果文件已有内容将从文件末尾开始读写。如果文件不存在则尝试创建它 'x' 创建并以写入方式打开文件,将文件指针指向文件头。如果文件已存在,则fopen()调用失败并返回FALSE,并生成一条E_WARNING级别的错误信息。如果文件不存在则尝试创建它。此选项被PH及以后的版本所支持,仅能用于本地文件 'x+' 创建并以读写方式打开文件,将文件指针指向文件头。如果文件已存在,则fopen()调用失败并返回FALSE,并生成一条E_WARNING级别的错误信息。如果文件不存在则尝试创建它。此选项被PH及以后的版本所支持,仅能用于本地文件 'b' 二进制模式,用于连接在其他模式后面。如果文件系统能够区分二进制文件和文本文件(Windows区分,而UNIX不区分),则需要使用到这个选项,推荐一直使用这个选项以便获得最大程度的可移植性 ●$use_include_path参数。如果需要在include_path(PHP的include路径,在PHP的配置文件设置)中搜寻文件, 可以将可选参数 $use_include_path的值设为1或TRUE,默认为FALSE。 ●$context参数。可选的$context参数只有文件被远程打开时(如通过HTTP打开)才使用,它是一个资源变量, 其中保存着与fopen()函数具体的操作对象有关的一些数据。如果fopen()打开的是一个HTTP地址, 那么这个变量记录着HTTP请求的请求类型、HTTP版本及其他头信息;如果打开的是FTP地址, 记录的可能是FTP的被动/主动模式 2.关闭文件 bool fclose(resource $handle) 4.文件的写入 文件写入前需打开文件,不存在先创建它,一般用fopen()函数创建 ●fwrite().文件打开后,向文件写入内容 int fwrite(resource $handle , string $string [, int $length ]) 说明:参数$handle是写入的文件句柄, $string是将要写入文件中的字符串数据, $length是可选参数,如果指定了$length,则当写入了$string中的前$length个字节的数据后停止写入。 ●file_put_contents()函数。PHP 5还引入了file_put_contents()函数。这个函数的功能与依次调用fopen()、fwrite()及fclose()函数的功能一样。语法格式如下: int file_put_contents(string $filename , string $data [, int $flags [, resource $context ]]) 说明:$filename是要写入数据的文件名。 $data是要写入的字符串,$data也可以是数组,但不能为多维数组。 在使用FTP或HTTP向远程文件写入数据时,可以使用可选参数$flags和$context,这里不具体介绍。 写入成功后函数返回写入的字节数,否则返回FALSE。 ●fputcsv()函数。CSV是一种比较常用的文件格式,一般以.csv作为扩展名。CSV格式把文件的一行看做是一条记录,记录里的字段使用逗号分隔。 在PHP中使用 fputcsv()函数可以把指定的数组格式化为符合CSV文件格式的内容,并写入文件指针指向的当前行。语法格式如下: int fputcsv(resource $handle [, array $fields [, string $delimiter [, string $enclosure ]]]) 说明:参数$handle是要写入的文件句柄。 参数$fields是要格式化的数组。 可选的$delimiter参数用于设定字段分界符(只允许一个字符),默认为逗号。 可选的$enclosure参数设定字段环绕符(只允许一个字符),默认为双引号 5 文件的读取 1.读取任意长度 fread()函数可以用于读取文件的内容,语法格式如下: string fread(int $handle, int $length) 说明:参数$handle是已经打开的文件指针, $length是指定读取的最大字节数,$length的最大取值为。 如果读完$length个字节数之前遇到文件结尾标志(EOF),则返回所读取的字符,并停止读取操作。 如果读取成功则返回所读取的字符串,如果出错返回FALSE。 注意:在读取文件后显示文件内容时,文本中可能含有无法直接显示的字符,如HTML标记。 这时需要使用htmlspecialchars()函数将HTML标记转化为实体才能显示文件中的字符。 2.读取整个文件 ●file()函数。file()函数用于将整个文件读取到一个数组中,语法格式如下: array file(string $filename [, int $use_include_path [, resource $context ]]) 说明:本函数的作用是将文件作为一个数组返回,数组中的每个单元都是文件中相应的一行,包括换行符在内, 如果失败则返回FALSE。参数$filename是读取的文件名,参数$use_inclue_path和$context的意义与之前介绍的相同 ●readfile()函数。readfile()函数用于输出一个文件的内容到浏览器中,语法格式如下: int readfile(string $filename [, bool $use_include_path [, resource $context ]]) ●fpassthru()函数。fpassthru()函数可以将给定的文件指针从当前的位置读取到EOF,并把结果写到输出缓冲区。 要使用这个函数,必须先使用fopen()函数打开文件,然后将文件指针作为参数传递给fpassthru()函数, fpassthru()函数把文件指针所指向的文件内容发送到标准输出。如果操作成功返回读取到的字节数,否则返回FALSE。 ●file_get_contents()函数。file_get_contents()函数可以将整个或部分文件内容读取到一个字符串中, 功能与依次调用fopen()、fread()及fclose()函数的功能一样。语法格式如下: string file_get_contents(string $filename [, int $offset [, int $maxlen ]]) 说明:$filename是要读取的文件名,可选参数$offset可以指定从文件头开始的偏移量, 函数可以返回从$offset所指定的位置开始长度为$maxlen的内容。如果失败,函数将返回FALSE 3. 读取一行数据 ●fgets()函数。fgets()函数可以从文件中读出一行文本,语法格式如下: string fgets(int $handle [, int $length ]) 说明:$handle是已经打开的文件句柄,可选参数$length指定了返回的最大字节数,考虑到行结束符, 最多可以返回length-1个字节的字符串。如果没有指定$length,默认为个字节 ●fgetss()函数与fgets()基本相同,不过fgetss()函数会尝试从读取的文本中去掉任何html和php标记。 ●fgetcsv()函数。fgetcsv()函数可以读取指定文件的当前行,使用CSV格式解析出字段,并返回一个包含这些字段的数组。 语法格式如下: array fgetcsv(int $handle [, int $length [, string $delimiter [, string $enclosure ]]]) 4. 读取一个字符 fgetc()函数。fgetc()函数可以从文件指针处读取一个字符,语法格式为: string fgetc(resource $handle) 该函数返回$handle指针指向的文件中的一个字符,遇到EOF则返回FALSE 5. 使用指定格式读取文件 fscanf()函数。fscanf()函数可以读取文件中的数据,并根据指定的格式进行格式化,并返回一个数组。语法格式如下: mixed fscanf(resource $handle , string $format [, mixed &$... ]) 格式字符串中的任何空白会与输入流中的任何空白匹配。 这意味着甚至格式字符串中的制表符“t”也会与输入流中的一个空格字符匹配。 6.文件的上传与下载 1.文件上传 文件上传可以通过提交html表单来实现。文件上传结束后,默认存储在临时目录中,这时必须从临时目录中删除或移动到其他地方 使用PHP的move_uploaded_file()将其移到其它位置上 move_uploaded_file()函数语法格式如下: bool move_uploaded_file(string $filename , string $destination) 注意:在将文件移动之前需要检查文件是否是通过HTTP POST上传的,这可以用来确保恶意的用户无法欺骗脚本去访问本不能访问的文件, 这时需要使用is_uploaded_file()函数。该函数的参数为文件的临时文件名,若文件是通过HTTP POST上传的,则函数返回TRUE。 例4.5 将由HTML表单上传的GIF图片文件移动到html目录中 2.文件下载 header()函数的作用是向浏览器发送正确的HTTP报头,报头指定了网页内容的类型、页面的属性等信息。 header()函数的功能很多,这里只列出以下几点: ●页面跳转。如果header()函数的参数为“Location: xxx”,页面就会自动跳转到“xxx”指向的URL地址。例如: header("Location: //跳转到百度页面 header("Location: first.php"); //跳转到工作目录的first.php页面 ●指定网页内容。例如,同样的一个XML格式的文件,如果header()函数的参数指定为“Content-type: application/xml”, 浏览器会将其按照XML文件格式来解析。但如果是“Content-type: text/xml”,浏览器就会将其看做文本解析。 header()函数结合readfile()函数可以下载将要浏览的文件 7.其他常用文件函数 1.计算文件大小 filesize()函数用于计算文件的大小,以字节为单位 filesize()函数结合fread()函数可以实现一次读取整个文件 2.判断文件是否存在 file_exits() is_dir()函数用于判断给定文件名是否是目录 is_file()函数用于判断给定文件名是否是文件。 is_readable()函数用于判断给定文件是否可读。 is_writeable()用于判断给定的文件是否可写 3.删除文件 unlink() 4.复制文件 bool copy(string $source,string $dest),如果目示文件已存在,则将被覆盖 5.移动、重命名文件 除了move_uploaded_file()函数,还有一个rename()函数也可以移动文件。 语法格式如下: bool rename ( string $oldname , string $newname [, resource $context ] ) 说明:rename()函数主要用于对一个文件进行重命名,$oldname是文件的旧名,$newname为新的文件名。 当然,如果$oldname与$newname的路径不相同,就实现了移动该文件的功能 6.文件指针操作 PHP中有很多操作文件指针的函数,如rewind()、ftell()、fseek()函数等。之前用过的feof()函数用于测试文件指针是否处于文件尾部, 也属于文件指针操作函数。 rewind()函数。用于重置文件的指针位置,使指针返回到文件头。它的参数只有一个,就是已经打开的指定文件的文件句柄。 ftell()函数。可以以字节为单位,报告文件中指针的位置,也就是文件流中的偏移量。它的参数也是已经打开的文件句柄。 fseek()函数。可以用于移动文件指针,语法格式如下: int fseek ( resource $handle , int $offset [, int $whence ] ) 例4.8 投票统计

推荐整理分享php 目录与文件处理-郑阿奇(续)(php显示文件目录及路径),希望有所帮助,仅作参考,欢迎阅读内容。

php 目录与文件处理-郑阿奇(续)(php显示文件目录及路径)

文章相关热门搜索词:php目录结构,footer.php文件目录,php当前目录,php目录列表,php目录操作,php目录列表,php文件目录树,php文件目录树,内容如对您有帮助,希望把文章链接给更多的朋友!

php 日期和时间的处理-郑阿奇(续) 1.UNIX时间戳phpd处理数据,特别是对数据库中时间类型数据进行格式化时,需先将时间类型的数据转化为UNIX时间戳进行处理。不同的数据库系统对时间

php高级编程-函数-郑阿奇 1.php函数1.用户自定义函数function函数名字([$parameter,[,…]]){//函数代码}注意:函数名不能与系统函数或用户已经定义的函数重名。$parameter为函数参数,

php与mysql建立连接并执行SQL语句的代码 今天写了一个小程序,很小很小,只不过是能够建立php与mysql的链接,并且实现简单的SQL语句。新手初试,还请各路高手多多指导。程序源代码如下:?ph

标签: php显示文件目录及路径

本文链接地址:https://www.jiuchutong.com/biancheng/284609.html 转载请保留说明!

上一篇:第4章 数据处理-php正则表达式-郑阿奇(续)(第4章 数据处理思维导图)

下一篇:php 日期和时间的处理-郑阿奇(续)(php时间计算)

  • 什么是增值税扣缴义务
  • 税收的经济效应是指税收对纳税人生产
  • 偷逃税款是什么
  • 差旅费抵扣进项税政策201939号文件
  • 广告牌制作加盟厂家
  • 无形资产的摊销会计科目
  • 税务机关如何正确行使代位权
  • 预算外收入计入什么科目
  • 长期股权投资的账务处理
  • 机器配件作价卖掉,如何做进项税转出
  • 农产品收购发票开错了
  • 哪些费用可以进项抵扣
  • 企业购买机械设备是否需要进行过户登记
  • 税务返还手续费发放给个人需要合并扣税吗
  • 企业安装监控费用怎么做账
  • 员工私人车通行费能抵进项税吗
  • 个人劳务报酬所得汇算清缴
  • 不同税率的产品可以开一张票里吗
  • 运输发票交印花税吗
  • 发票打印机的字偏上
  • 小规模纳税人核定征收标准
  • 所得税费用是在哪个科目
  • 报表中在产品填什么数据
  • 契税纳税义务发生时间税屋
  • 如何冲减其他应付款又不影响银行存款
  • win10电脑和win7电脑怎么共享文件
  • 清算资金往来借贷方什么意思
  • 如何免费获取win11
  • PHP选项代码
  • 零售企业进销存怎么结转成本
  • 同一控制下的控股合并与非同一控制下的控股合并
  • 中小企业应交税费
  • 残疾人就业保障金怎么申报
  • 转让企业要交什么税
  • 拦截器拦截html
  • 外购无形资产账务处理
  • 301重定向到https 并且不带www跳转到带www
  • 畜牧业科技公司
  • wordpress 批量添加标签
  • 哪些进项税不允许从销项税额中抵扣
  • MySQL创建数据库语句
  • 出口合同的流程
  • 小规模纳税人需要每月清卡吗
  • 企业所得税视同销售的有哪些?
  • 未分配利润可以弥补亏损吗
  • 出口不报关账务处理
  • 红字撤销需要带什么去税务局
  • 病假补贴需要什么手续
  • 非本公司员工的火车票可以报销么
  • 控制企业的5种方式
  • 其他综合收益要转入投资收益吗
  • 现金日记账年结需要另起一页吗
  • 辅助核算设置后使用后还可以随时修改
  • 金蝶的数量金额明细账是怎么做的
  • 客户逾期不付款,需要赔多少违约金
  • 固定资产折旧的影响因素
  • 销售商品托收承付怎么确认收入
  • mysql 5.7.5 m15 winx64安装配置图文教程
  • win8开始菜单怎么设置
  • linux系统怎么安装
  • .bas是什么文件
  • win7如何运行命令
  • Win7系统如何打开磁盘管理工具
  • win7系统怎么修改开机密码
  • 如何刷硬盘使用时间
  • Intermediate Unity 3D for iOS: Part 1/3
  • javascript详解
  • shell脚本tr
  • cocos2dx HelloWorld代码分析
  • 批处理应用实例
  • Unity3D之Vector3.Dot和Vector3.Cross的使用
  • linux shell if -e
  • linux pop
  • shell脚本监听端口
  • python设计教程
  • Qt Creater调试时一直出现:“DEBUGGER: Waiting for debug socket connect” 和“DEBUGGER: go to sleep”
  • android数据存储总结
  • 城市配套费需要什么资料
  • 江苏国税电子税务局打印机设置
  • 成都交房需要交什么费用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设