-
从php5开始支持异常处理,异常通过throw抛出,异常抛出后,后面的代码将中断执行
抛出异常会中断程序执行,为什么还要使用异常处理?
异常抛出被用于遇到未知错误,或不符合预先设定条件时,通知客户程序,以便进行其他相关处理,不至于使程序报错中断。
代码中使用了try catch时候,抛出的异常会在catch中捕获,否则会直接中断。
1、基本语法
try{ //可能出现错误或异常的代码 //catch表示捕获,E相册旁听是php内部定义好的异常类 }catch(Wxception $e){ //对异常处理方法: //1、自己处理 //2、不处理,将其再次抛出 }
2、处理程序应当包括:
try:使用异常的函数应该位于try代码内,如没触发异常则代码照常执行,如果异常触发,会抛出一个异常。
Throw:这里规定如何触发异常,每一个throw必须对应至少一个catch
catch:catch代码块会捕获异常,并创建一个包含异常信息的对象。
//创建可抛出一个异常的函数 function checkNum($number){ if($number>1){ throw new Exception("异常提示-数字必须小于等于1"); } return true; } //在 "try" 代码块中触发异常 try{ checkNum(2); //如果异常被抛出,那么下面一行代码将不会被输出 echo '如果能看到这个提示,说明你的数字小于等于1'; }catch(Exception $e){ //捕获异常 echo '捕获异常: ' .$e->getMessage(); }
通过从这个 exception 对象调用 $e->getMessage(),输出来自该异常的错误消息
查看全部 -
php文件系统中文件的删除
和Unix系统命令相似,使用unlink函数进行文件删除
unlink($filename);
删除文件夹使用rmdir函数,文件夹必须为空,不为空或没有权限都会提示失败
rmdir($dir);
若文件夹中存在文件则可以先循环删除目录中的所有文件,然后删除目录,可使用glob函数遍历所有文件
foreach(glob(*) as $filename){ unlink($filename); }
查看全部 -
php文件系统写入内容到文件
写文件分为两个种方式,最简单的方式是采用file_put_contents函数
$filename = './test.txt'; $data = 'test'; file_put_contents($filename, $data);
数据参数可以是一个一维数组,当$data是数组的时候会自动将数组链接起来,相当于$data=implode('',$data);
php同时也支持采用fwrite方式进行写入
$fp=fopen('./test.txt','w'); fwrite($fp.'hello'); fwrite($fp,'word'); fclose($fp);
查看全部 -
php获取文件大小
通过filesize函数获取文件大小,文件大小以字节数表示。
如果需要转换文件大小单位可自定义函数实现
function getsize($size, $format = 'kb') { $p = 0; if ($format == 'kb') { $p = 1; } elseif ($format == 'mb') { $p = 2; } elseif ($format == 'gb') { $p = 3; } $size /= pow(1024, $p); return number_format($size, 3); }$filename = '/data/webroot/usercode/code/resource/test.txt';$size = filesize($filename);$size = getsize($size, 'kb'); //进行单位转换echo $size.'kb';
查看全部 -
php文件系统获取文件的元属性信息
php文件系统可以通过内置函数获取文件的元信息数据,包括文件所有者、创建时间、修改时间、最后访问时间等。
fileowner:文件所有者 filectime:文件创建时间 filemtime:文件修改时间 fileatime:文件的访问时间
查看全部 -
在php中可以通过函数is_file和file_exists来判断文件是否存在
如果只判断文件存在使用file_exists就行,file_exists不仅可以判断文件是否存在,同时也可以判断目录是否存在,if_file是确切的判断给定路径是否为一个文件
可以使用is_readable和is_writeable在文件是否存在的基础上判断文件是否可读与可写
$filename = './test.txt'; if (is_writeable($filename)) { file_put_contents($filename, 'test'); } if (is_readable($filename)) { echo file_get_contents($filename); }
查看全部 -
PHP具有很多异常处理类,其中Exception是所有异常处理的基类。
Exception具有几个基本属性与方法,其中包括了:
message 异常消息内容
code 异常代码
file 抛出异常的文件名
line 抛出异常在该文件的行数其中常用的方法有:
getTrace 获取异常追踪信息
getTraceAsString 获取异常追踪信息的字符串
getMessage 获取出错信息如果必要的话,可以通过继承Exception类来建立自定义的异常处理类。
查看全部 -
/i (忽略大小写)
/g (全文查找出现的所有匹配字符)
/m (多行查找)
/gi(全文查找、忽略大小写)
/ig(全文查找、忽略大小写)查看全部 -
$p="/ /";
$str=" ";
preg_match/preg_match_all($p,$str,$matches);
print_r($matches[1]);
查看全部 -
$p="/<li>(.*)<\/li>/i";
后面的i表示不区分大小写,<li>(.*?)<\/li>表示li标签内的匹配的()内的值有多少,括号内的.表示所有单字符,*表示数量为0个或者多个。也就是li标签内有字符就显示出来
preg_match:只能匹配一次结果
preg_match_all:可以循环匹配获取一个列表的匹配结果数组
查看全部 -
PHP数据库操作之取得数据查询结果
索引数组与关联数组:
索引数组 系统自动指定索引,或者索引全为数字
$arr =array('php','java');$arr =array(0->'php',1>'java');
关联数组 索引为非数字
$arr =array('web'->'php','大数据'->'linux');
查看全部 -
PHP数据库操作之插入新数据到MySQL中
查看全部 -
在数据库建立连接以后就可以进行查询,采用mysql_query加sql语句的形式向数据库发送查询指令。
$res = mysql_query('select * from user limit 1');
对于查询类的语句会返回一个资源句柄(resource),可以通过该资源获取查询结果集中的数据。
$row = mysql_fetch_array($res);
var_dump($row);
默认的,PHP使用最近的数据库连接执行查询,但如果存在多个连接的情况,则可以通过参数指令从那个连接中进行查询。
$link1 = mysql_connect('127.0.0.1', 'code1', '');
$link2 = mysql_connect('127.0.0.1', 'code1', '', true); //开启一个新的连接
$res = mysql_query('select * from user limit 1', $link1); //从第一个连接中查询数据
查看全部 -
PHP要对数据库进行操作,首先要做的是与数据库建立连接,通常我们使用mysql_connect函数进行数据库连接,该函数需要指定数据库的地址,用户名及密码。
$host = 'localhost';
$user = 'code1';
$pass = '';
$link = mysql_connect($host, $user, $pass);
PHP连接数据库的方式类似于直接在命令行下通过进行连接,类似:mysql -hlocalhost -ucode1 -p,当连接成功以后,我们需要选择一个操作的数据库,通过mysql_select_db函数来选择数据库。
mysql_select_db('code1');
通常我们会先设置一下当前连接使用的字符编码,一般的我们会使用utf8编码。
mysql_query("set names 'utf8'");
通过上面的步骤,我们就与数据库建立了连接,可以进行数据操作了。
查看全部 -
mysql扩展进行数据库连接的方法:
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');
mysqli扩展:
$link = mysqli_connect('mysql_host', 'mysql_user', 'mysql_password');
PDO扩展
$dsn = 'mysql:dbname=testdb;host=127.0.0.1'; $user = 'dbuser'; $password = 'dbpass'; $dbh = new PDO($dsn, $user, $password);
pdo就是把操作数据库的函数封装成一个pdo类,其间做了安全验证而已
查看全部
举报