为了账号安全,请及时绑定邮箱和手机立即绑定
课程 \ PHP进阶篇

PHP进阶篇

7-2 PHP数据库扩展
<?php
$link = mysql_connect('127.0.0.1', 'code1', '') or die('数据库连接失败');
mysql_select_db('code1');
mysql_query("set names 'utf8'");
$result = mysql_query('select * from user limit 1');
$row = mysql_fetch_assoc($result);
print_r($row);
2022-09-23 查看完整代码
7-1 PHP支持哪些数据库
<?php
if (function_exists('mysql_connect')) {
echo 'Mysql扩展已经安装';
}
2022-09-23 查看完整代码
6-4 PHP异常处理之获取错误发生的所在行
<?php
try {
throw new Exception('wrong');
} catch(Exception $ex) {
$msg = 'Error:'.$ex->getMessage()."\n";
$msg.= $ex->getTraceAsString()."\n";
$msg.= '异常行号:'.$ex->getLine()."\n";
$msg.= '所在文件:'.$ex->getFile()."\n";
//将异常信息记录到日志中
PHP异常处理之 file_put_contents('error.log', $msg);
}
2022-09-23 查看完整代码
6-3 PHP异常处理之捕获异常信息
<?php
try {
throw new Exception('wrong');
} catch(Exception $ex) {
echo 'Error:'.$ex->getMessage().'<br>';
echo $ex->getTraceAsString().'<br>';
}
echo '异常处理后,继续执行其他代码';
2022-09-23 查看完整代码
6-2 PHP异常处理之异常处理类
<?php
class MyException extends Exception {
function getInfo() {
return '自定义错误信息';
}
}

try {
throw new MyException('error');
} catch(Exception $e) {
echo $e->getInfo();
}
2022-09-23 查看完整代码
6-1 PHP异常处理之抛出一个异常
<?php
$filename = 'test.txt';
try {
if (!file_exists($filename)) {
throw new Exception('文件不存在');
}
} catch(Exception $e) {
echo $e->getMessage();
}
2022-09-23 查看完整代码
5-6 PHP文件系统之删除文件
<?php
$filename = '/data/webroot/usercode/code/test.txt';
file_put_contents($filename, 'a');
//删除文件$filename
unlink($filename);
2022-09-23 查看完整代码
5-3 PHP文件系统之取得文件的修改时间
<?php
$filename = '/data/webroot/usercode/code/resource/test.txt';
echo '所有者:'.fileowner($filename).'<br>';
echo '创建时间:'.filectime($filename).'<br>';
echo '修改时间:'.filemtime($filename).'<br>';
echo '最后访问时间:'.fileatime($filename).'<br>';

//给$mtime赋值为文件的修改时间
$mtime = filemtime($filename);
//通过计算时间差 来判断文件内容是否有效
if (time() - $mtime > 3600) {
echo '<br>缓存已过期';
} else {
echo file_get_contents($filename);
}
2022-09-23 查看完整代码
4-8 使用session来存储用户的登录信息
<?php
session_start();
//假设用户登录成功获得了以下用户数据
$userinfo = array(
'uid' => 10000,
'name' => 'spark',
'email' => 'spark@imooc.com',
'sex' => 'man',
'age' => '18'
);
header("content-type:text/html; charset=utf-8");

/* 将用户信息保存到session中 */
$_SESSION['uid'] = $userinfo['uid'];
$_SESSION['name'] = $userinfo['name'];
$_SESSION['userinfo'] = $userinfo;

//* 将用户数据保存到cookie中的一个简单方法 */
$secureKey = 'imooc'; //加密密钥
$str = serialize($userinfo); //将用户信息序列化
//用户信息加密前
$str = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($secureKey), $str, MCRYPT_MODE_ECB));
//用户信息加密后
//将加密后的用户数据存储到cookie中
setcookie('userinfo', $str);

//当需要使用时进行解密
$str = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($secureKey), base64_decode($str), MCRYPT_MODE_ECB);
$uinfo = unserialize($str);
echo "解密后的用户信息:<br>";
print_r($uinfo);
2022-09-23 查看完整代码
4-7 删除与销毁session
<?php
session_start();
$_SESSION['name'] = 'jobs';
//在这里删除name的session值
unset($_SESSION['name']);
if (isset($_SESSION['name'])) {
echo $_SESSION['name'];
}
2022-09-23 查看完整代码
4-6 使用session
<?php
//在这里设置name的session值为jobs
session_start();
$_SESSION['name'] = 'jobs';
echo $_SESSION['name'];
2022-09-23 查看完整代码
4-5 session与cookie的异同
<?php
//开始使用session
session_start();
//设置一个session
$_SESSION['test'] = time();
//显示当前的session_id
echo "session_id:".session_id();
echo "<br>";

//读取session值
echo $_SESSION['test'];

//销毁一个session
unset($_SESSION['test']);
echo "<br>";
var_dump($_SESSION);
2022-09-23 查看完整代码
4-4 cookie的有效路径
<?php
//补充路径参数,实现有效路径的设置
setcookie('test', '1', 0, '/path');
var_dump($_COOKIE['test']);
2022-09-23 查看完整代码
4-3 cookie的删除与过期时间
<?php
setcookie('test', time());

//在这里试着删除test的cookie值
setcookie('test', '', time()-1);

var_dump($_COOKIE);
2022-09-23 查看完整代码
4-2 设置cookie
<?php
$value = time();
//在这里设置一个名为test的Cookie
setcookie('test',$value);
if (isset($_COOKIE['test'])) {
echo 'success';
}
2022-09-23 查看完整代码
4-1 cookie简介
<?php
setcookie('test', time());
ob_start();
print_r($_COOKIE);
$content = ob_get_contents();
$content = str_replace(" ", '&nbsp;', $content);
ob_clean();
header("content-type:text/html; charset=utf-8");
echo '当前的Cookie为:<br>';
echo nl2br($content);
2022-09-23 查看完整代码
3-8 正则匹配常用案例
<?php
$user = array(
'name' => 'spark1985',
'email' => 'spark@imooc.com',
'mobile' => '13312345678'
);
//进行一般性验证
if (empty($user)) {
die('用户信息不能为空');
}
if (strlen($user['name']) < 6) {
die('用户名长度最少为6位');
}
//用户名必须为字母、数字与下划线
if (!preg_match('/^\w+$/i', $user['name'])) {
die('用户名不合法');
}
//验证邮箱格式是否正确
if (!preg_match('/^[\w\.]+@\w+\.\w+$/i', $user['email'])) {
die('邮箱不合法');
}
//手机号必须为11位数字,且为1开头
if (!preg_match('/^1\d{10}$/i', $user['mobile'])) {
die('手机号不合法');
}
echo '用户信息验证成功';
2022-09-23 查看完整代码
3-7 正则表达式的搜索和替换
<?php
$str = '主要有以下几个文件:index.php, style.css, common.js';
//将目标字符串$str中的文件名替换后增加em标签
$p = '/\w+\.\w+/i';
$str = preg_replace($p,'<em>$0</em>',$str);
echo $str;
2022-09-23 查看完整代码
3-6 查找所有匹配结果
<?php
$str = "<ul>
<li>item 1</li>
<li>item 2</li>
</ul>";
//在这里补充代码,实现正则匹配所有li中的数据
$p = "/<li>(.*)<\/li>/i";
preg_match_all($p, $str, $matches);
print_r($matches[1]);
2022-09-23 查看完整代码
3-5 使用正则表达式进行匹配
<?php
$subject = "my email is spark@imooc.com";
//在这里补充代码,实现正则匹配,并输出邮箱地址
$pattern = '/[\w\-]+@\w+\.\w+/';
preg_match($pattern,$subject,$matches);
echo $matches[0];
2022-09-23 查看完整代码
首页上一页123下一页尾页
意见反馈 帮助中心 APP下载
官方微信