php文件错误目录

错误处理

错误分为:

语法错误: 代码不会被执行. 直接报告代码中的错误.

运行时错误: 代码会被执行, 执行到错误的地方, 才报错.

逻辑错误: 代码执行, 不会报错, 但就不是想要的结果.

所有报出来的错误级别, 可以分为:

提示性错误( Notice )

警告性错误( Warning )

致命性错误( Fatal error )

举例:

<?php

  	   getType($a);   // 未定义变量, 提示性错误
       getType( );    // 缺少参数, 警告性错误
       getTypes( );   // 函数名不对, 致命性错误

?>

错误报告方式:

页面上显示错误信息 + 错误记录在日志文件

​ 不同的环境选择不同的报告方式:

​ 1) 开发环境 (Development)

​ 2) 生产环境 (Production)

通过修改 php.ini 决定错误处理方式

**display_errors = **On/Off 是否在页面上显示错误信息

**log_errors = **On/Off 是否把发生的错误记录在日志文件中

**error_log = **“D:\xampp\php\logs\php_error_log” 日志文件的位置

error_reporting = 设置哪些错误需要报告, 其他错误就不报告了

**error_reporting = **E_ALL & ~E_NOTICE 所有错误都报告, 除了提示性错误

在php代码中临时修改 错误处理方式

ini_get( ‘error_log’ ) 获取 php.ini 中的某项设置

ini_get_all( ) 可以一次性获取所有选项

ini_set( ‘display_errors’, ‘On’ ) 临时修改 php.ini 中的某项. 仅在当前文件中有效.

error_reporting( ) 设置应该报告何种 PHP 错误

<?php
	// 关闭所有PHP错误报告
	error_reporting(0);
	
	// 除了 E_NOTICE,报告其他所有错误
	error_reporting(E_ALL ^ E_NOTICE);
	error_reporting(E_ALL & ~E_NOTICE);
	
	// 报告所有 PHP 错误
	error_reporting(-1);
	
	// 报告所有 PHP 错误 (参见 changelog)
	error_reporting(E_ALL);
	
	// 和 error_reporting(E_ALL); 一样
	ini_set('error_reporting', E_ALL);
	

时间戳


指的是, 格林威治时间 1970 年 1 月 1 日 00:00:00 到当前时间的秒数。

计算机中多用时间戳的形式, 来计算和存储时间和日期

生成时间戳

time( ) 获取当前的时间戳

strtotime(‘2017-03-20 12:00:00’) 以字符串形式, 指定某天的时间戳

mktime(时, 分, 秒, 月, 日, 年) 以数值形式, 指定某个时刻的时间戳

getDate( ) 返回数组形式的时间信息

格式化时间戳

格式化, 是指把不好看懂的时间戳转换化,方便理解的 年月日时分秒的形式

date(‘Y-m-d H:i:s’, 时间戳)

Y-m-d H:i:s’ 格式化字符串

Y 4位格式的 年数

m 2位格式的 月份

d 2位格式的 日期

H 2位格式的 小时

i 2位格式的 分钟

s 2位格式的 秒数

时间戳 参数为可选. 如果不填, 默认为当前时间

date_default_timezone_set(‘PRC’)

格式化时间戳有一个时区的概念, 上面代码把时区设置为 中国

测量代码执行时间

<?php
	$start = microtime(true);

		..... 要测量的代码 
            
	$stop = microtime(true); 
	
	echo $stop - $start; // 结束时间 - 开始时间 = 代码执行的时间 
?>

文件处理


目录操作

常用目录操作函数

打开目录, 读取目录, 关闭目录

<?php
    $dir = './images/'; 
    $hd = opendir( $dir ); // 打开目录, 返回资源类型, 用 $hd 来代表被打开的目录
    $f = readdir( $hd ); // 读取目录, $f 为目录里面的文件名, 每次读出一个新的文件名 
    /* 
         读取到最后, 会返回 false 
         每个目录中都会有两个隐藏目录 . 和 .. 
    */ 
    closedir( $hd ); // 关闭目录 
?>
遍历目录
<?php
    $dir = './images/';
    $hd = opendir($dir); // 打开目录 
    // 逐条读取目录中的文件名 
    while ( ($f = readdir($hd)) !== false ) {
    	// 跳过目录中的 . 和 .. 目录 
    	if ($f == '.' || $f == '..') { continue; }
    	// 输出文件名 
    	echo $f;
    }
    closedir( $hd ); // 关闭目录 
    /* 
    	如果文件名是 '0' 会误判断为 false, 从而提前结束跳出循环,
    	所以加一个 !== 判断 
    */ 

file_exists( 带路径的文件名或目录名 ) 检查文件或目录是否存在. 存在返回 true 否则返回 false

is_dir( 带路径的文件名 ) 判断一个给定的文件名是否是一个目录

filetype( 带路径的文件名 ) 获取文件类型

filesize( 带路径的文件名 ) 获取文件的大小, 单位为字节

fileatime( 带路径的文件名 ) 获取文件的 上一次访问时间

filectime( 带路径的文件名 ) 获取文件的 创建时间

filemtime( 带路径的文件名 ) 获取文件的 修改时间

dirname( 路径 ) 返回路径中的目录部分. 如果路径本身是一个目录, 函数会返回它的父目录.

basename( 路径 ) 返回基本的文件名

realpath( 文件或目录 ) 获取文件或目录 在本地电脑上的磁盘路径

pathinfo( 路径 ) 返回文件路径的信息

copy( 源文件名, 新文件名 ) 复制文件

mkdir( 名称 ) 新建目录

rmdir( 空目录名称 ) 删除一个空目录

unlink( 文件名 ) 删除一个文件

文件操作

fopen(文件名, 打开方式) 打开一个文件. 返回一次资源.

fwrite(文件资源, 写入的内容)

fread(文件资源, 读取的字节数)

fclose(文件资源)

<?php
    /* 写文件 */ 
    $hf = fopen('./xxoo.txt','w'); // 找开一个文件,返回资源. 之后 $hf 就代表这个文件 
    							
    fwrite($hf, 'abcd'); 	// 将 'abcd' 写入文件   开头写入
    
    fclose( $hf ); 			// 关闭文件. 文件不用了就要及时关闭 

?>
<?php
    /* 写文件 */ 
    $hf = fopen('./xxoo.txt','a'); // 找开一个文件,返回资源. 之后 $hf 就代表这个文件 
    							
    fwrite($hf, 'abcd'); 	// 将 'abcd' 写入文件   追加写入
    
    fclose( $hf ); 			// 关闭文件. 文件不用了就要及时关闭 

?>
<?php
    /* 读文件 */ 
    $hf = fopen('./xxoo.txt','r'); // 找开一个文件 
    
    echo fread($hf, 4); 	// 读取4个字节内容, 显示到页面
    
    fclose( $hf ); 			// 关闭文件.
    
?>
其它文件函数

fgetc( 文件资源 ) 从文件指针位置读取一个字符

fgets( 文件资源 ) 从文件指针位置读取一行内容

file( 文件名 ) 将整个文件读入一个数组中

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值