假期学习PHP 阶段性总结

2018-02-10  本文已影响0人  id_rsa

PHP初认识

经过这段时间对php 的学习,我对php已经有了一个初步的认识。感受到了其函数功能的强大,在制作网站时可以与HTML,CSS,JS 充分嵌套。还有就是php函数对MYSQL的操作简化了mysql 语句。

目前我学了什么

1)php基础知识和php基础语法
2)正则表达
3)日期和时间
4)表单与验证
5)会话控制
6)上传文件
7)处理图像
8)MYSQL基本操作
9)PHP操作mysql 数据库

目前正在学什么

1)目前正在学做 '多用户留言系统'

学习感悟

由于没有买php方面的书籍,我是在网易云课堂上学的php。在观看教程时明显感觉自己知识匮乏。对HTML,CSS,JS 的掌握程度不够好,没有自己的知识体系可以调用,以后一定广泛学习,勤加总结。构建自己的知识体系。

正则表达的应用

1)验证邮箱 QQ等是否合法

$mode = '/([\w\.]{2,255})@([\w\-]{1,2555}).([a-z]{2,4})/';
$email = 'bbnss@163.com';
if(preg_match($mode,$email)){
    echo '电子邮件合法';
}else{
    echo '电子邮件不合法';
}

日期和时间

1)时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
时区:
伦敦格林威治是0时区,北京是东八区。格林威治是0点时,北京就是八点
取得当前时间
$a = gettimeofday();
date('Y-m-d H:i:s',$a['sec'])

microtime()//返回当前时间戳和微秒数
gettimeofday()//返回数组前两个元素为时间戳和微秒数

2)date()函数获取年月日时分秒
date('Y-m-d H:i:s');

表单与验证

//post方法发送数据
<form action="welcome.php" method="post">
    名字: <input type="text" name="fname">
    年龄: <input type="text" name="age">
    <input type="submit" value="提交">
</form>
//post方法接收数据
欢迎<?php echo $_POST["fname"]; ?>!<br>
你的年龄是 <?php echo $_POST["age"]; ?>  岁。

会话控制

//set cookie
if(isset($_POST['username'])&&$_POST['username']=='Lee'){
    setcookie('cookieliu','liuxiangqian');
    header('Location:cookie2.php');
}
//
<?php
if(isset($_COOKIE['cookieliu'])){
    echo '欢迎光临'.$_COOKIE['cookieliu'];
}
else{
    echo '非法访问';
}
?>

上传文件

if(is_uploaded_file($_FILES['userfile']['tmp_name'])){
   //echo "上传的临时文件,已找到.等待移动中....";
     if(! move_uploaded_file($_FILES["userfile"]["tmp_name"],URL.'/'.$_FILES["userfile"]["name"]))
     {
      //如果移动失败
      echo "<script>alert('移动失败');history.back();</script>";
       exit;
     }
}else{
   echo "<script>alert('临时文件夹找不到上传的文件');history.back();</script>";
   exit;
}

处理图像

1)处理图像可应用于生成验证码

$_width = 75;
$_height = 25;
//创建一张图像
$_img = imagecreatetruecolor($_width,$_height);

//白色,画笔
$_white = imagecolorallocate($_img,255,255,255);
//填充
imagefill($_img,0,0,$_white);
//黑色,边框
$_black = imagecolorallocate($_img,0,0,0);
imagerectangle($_img,0,0,$_width-1,$_height-1,$_black);

//画六条随机线条
for($i=0;$i<6;$i++){
    $_rnd_color = imagecolorallocate($_img,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
    imageline($_img,mt_rand(0,75),mt_rand(0,25),mt_rand(0,75),mt_rand(0,25),$_rnd_color);
}
//随机雪花
for($i=0;$i<10;$i++){
    $_rnd_color = imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
    imagestring($_img,1,mt_rand(1,75),mt_rand(1,25),'*',$_rnd_color);
}
//输出验证码
for($i=0;$i<strlen($_SESSION['code']);$i++){
    $_rnd_color = imagecolorallocate($_img,mt_rand(0,100),mt_rand(0,125),mt_rand(0,150));
    imagestring($_img,5,$i*$_width/$_rnd_num + mt_rand(1,10),mt_rand(1,$_height/2),$_SESSION['code'][$i],$_rnd_color);
}

//输出图像
header('Content-Type:image/png');
imagepng($_img);
//销毁
imagedestroy($_img);

MYSQL数据库基本操作

图片.png

php对mysql数据库的操作

//第一步,连接数据库
 $conn = @mysqli_connect("localhost","root","","school")or die("数据库连接失败,错误信息:".mysqli_error());

//设置字符集
 mysqli_query($conn,"set names utf8")or die("字符集涉资错误,错误信息:".mysqli_error());

  //第二步,从这个数据库里选一张表(grade)然后把这个表的数据提取出来(获取记录集)
//$query = "SELECT *FROM grade";
 $result = @mysqli_query($conn,"SELECT * FROM grade")or die("SOL错误,错误信息:".mysqli_error($conn));

 print_r(mysqli_fetch_array($result,MYSQLI_ASSOC));

 //释放记录集资源
 mysqli_free_result($result);


  //最后一步,关闭数据库
  mysqli_close($conn);
上一篇 下一篇

猜你喜欢

热点阅读