前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP全栈学习笔记16

PHP全栈学习笔记16

作者头像
达达前端
发布2019-07-03 10:23:04
4810
发布2019-07-03 10:23:04
举报
文章被收录于专栏:达达前端达达前端
代码语言:javascript
复制
<?php
$fileName = "php大师.test.php";
//补充程序,显示文件名(不包括扩展名)
$start = strrpos($fileName, ".");
$newStr = substr($fileName,0, $start);
var_dump ( $newStr );
?>
代码语言:javascript
复制
<?php
for($i=100;$i<1000;$i++){
    if(($i*$i)%1000==$i)
    {
        echo $i;
        echo "<br/>";
    }
}
?> 
代码语言:javascript
复制
<?php
$x = "hello";
switch ($x) {
    case 1 :
        echo "Number 1";
        break;
    case 2 :
        echo "Number 2";
        break;
    case "hello" :
        echo "hello";
        break;
    default :
        echo "No number between 1 and 3";
}
?> 
代码语言:javascript
复制
<?php
$students = array(array("name"=>"张三","age"=>25,"height"=>180),array("name"=>"李四","age"=>22,"height"=>170));
echo $students[0]["name"];
echo "<br/>";
echo $students[1]["name"];
?> 
代码语言:javascript
复制
<?php
// 显示右边n个字符
$n = 5;
$oldStr = "dsfasfasf";
$rightStr = subStr ( $oldStr, strlen($oldStr) - $n );
var_dump ( $rightStr );
?>
代码语言:javascript
复制
<html> <body>
<form action="welcome.php" method="post">
  Name: <input type="text" name="name" />
  Age: <input type="text" name="age" />
 <input type="submit" /> 
</form> 
</body> </html> 
代码语言:javascript
复制
好好学习,天天向上
<br/>
<?php
echo "hello world";
define("ABC",1000);
var_dump(defined("ABC"));


echo "<br/>";
echo constant("ABC");

echo PHP_OS;
echo "<br/>";
echo PHP_VERSION;
echo "<br/>";
echo __FILE__;
define('NAME','php');
define('NAME','linux');
echo NAME;
?>
<img src="/test/a.jpg"></img>

修改端口号

image.png

通过网络命令netstat –aon 找到进程号

image.png

php学习

image.png

常量一般是大写字母构成,常量只能定义一次

代码语言:javascript
复制
bool define ( string name, mixed value [, bool case_insensitive] )
bool defined ( string name )

<?php
echo "中文测试<br/>";
print "hello world!";
echo "<br/>";
echo "<img src='/test/a.jpg'></img>";
define("PI",3.14);
var_dump(defined("Pi"));
echo PHP_OS;
echo "<br/>";
echo PHP_VERSION;
echo "<br/>";
echo __FILE__;
?>

常量、变量的命名规则: 以字母、下划线开头,后接字母、数字、下划线

以$打头命名变量,变量要先赋值后使用 同一个变量,即可以存储数字也可以存储字符串,也就是可以存储任意类型的数据 变量不用指定数据类型,但必须赋值后才能使用

求字符串的长度:int strlen ( string 字符名 ) 查找第一次出现的子串位置:int strpos 查找最后一次出现的子串位置:int strrpos

求字符串右边n个字符构成的子串 substr(原串,-

n) 或者:substr(原串,strlen(原串)-
n) 或者:substr(原串,strlen(原串)-

n)

显示去掉扩展名的文件名

代码语言:javascript
复制
$dotpos = strpos($fileName,".");
echo substr($fileName,0, $dotpos);
代码语言:javascript
复制
$y = $x++ 相当于{$y=$x; $x=$x+1;}
$y = $x-- 相当于{$y=$x; $x=$x-1;}
$y = ++$x 相当于{$x=$x+1; $y=$x;}
$y = $x-- 相当于{$x=$x-1; $y=$x;}
代码语言:javascript
复制
对于表达式:A && B,如果A为假,则不再计算表示式B的值
对于表达式:A || B,如果A为真,则不再计算表示式B的值

date函数用于将日期格式化为指定格式

代码语言:javascript
复制
构造数组:$names = array("a","b","c"); 
访问数组元素:$names[0]、 $names[1]、 $names[2].

函数explode,用于将字符串分割成多个子串构成的数组

关联数组 方法: “键”=>值

数据类型 Boolean型 integer型 浮点型 字符串型

伪类型 mixed、number、void、callback

代码语言:javascript
复制
<?php
// 求1!+2!....+10!

// 声明一个控制变量,初始化
$i = 1;
// 声明一个存储和的变量
$sum = 0;
// 声明一个变量存储n!,初始化化为1;
$rank = 1;
// 计算$i的阶乘,计算完马上累加科
while ( $i <= 10 ) {
    // 计算$i!= ($i-1)!*$i
    $rank *= $i;
    // 累加
    $sum += $rank;
    // 改变循环变量值
    $i ++;
}
echo $sum . "<br/>";

// 求1!+2!....+10!
$x = 1;
$sum2 = 0;
while ( $x <= 10 ) {
    // 计算$x!
    $rank2 = 1;
    $y = 1;
    while ( $y <= $x ) {
        $rank2 *= $y;
        $y ++;
    }
    // 累加
    $sum2 += $rank2;
    // 改变循环变量值
    $x ++;
}
echo $sum2 . "<br/>";


// 求1.....100之间素数
// 8 = 2*4 7是素数,因为7/2 7/3 7/4....7/6,7不能被整除
for($i = 2; $i <= 100; $i ++) {
    // 假设是素数
    $isPrime = true;
    //除数不用到$i-1,到sqrt($i)
    for($j = 2; $j <= sqrt($i); $j ++) {
        if ($i % $j == 0) {
            $isPrime = false;
            break;
        }
    }
    //验证假设有没有被修改
    if ($isPrime == true) {
        echo $i . " ";
    }
}

$arr=array("one", "two", "three");
//依次取出数组每一个元素放到$aa
foreach ($arr as $aa){
    echo $aa. " ";
}


echo "<br/>";
// 求1!+2!....+10!
function Rank($n){
    $rank = 1;
    for($i=1;$i<=$n;$i++){
        $rank *= $i;
    }
    return $rank;
}
$sum = 0;
for($i=1;$i<=10;$i++){
    $sum +=  Rank($i);
}
echo $sum;
?>

image.png

image.png

image.png

image.png

image.png

image.png

检入

image.png

自定义函数模板

image.png

image.png

开发环境:wamp3.06 + Zend studio 12 调试配置

打开php配置文件php.ini

image.png

去掉xdebug前的所有注释符号‘;’,也就是说使用wamp自带的调试器

image.png

image.png

允许访问服务器

image.png

修改httpd.conf,允许访问服务器

image.png

image.png

image.png

zend Studio 中设置

image.png

image.png

image.png

image.png

Servers 配置local Apache HTTP Server

image.png

image.png

image.png

配置exe文件

image.png

image.png

配置debug

image.png

修改Document Root为

image.png

image.png

image.png

配置默认字符集

image.png

配置默认字体大小

image.png

image.png

代码语言:javascript
复制
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<?php
// if((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] ==
// "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")) &&
// ($_FILES["file"]["size"] < 20000)) {
// if ($_FILES["file"]["error"] > 0) {
// echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
// }
// else {
if (file_exists ( "upload/" . $_FILES ["file"] ["name"] )) {
    echo $_FILES ["file"] ["name"] . " already exists. ";
} else {
    $newname = iconv ( "utf-8", "gb2312", $_FILES ["file"] ["name"] );
    move_uploaded_file ( $_FILES ["file"] ["tmp_name"], "upload/" . $newname );
    // move_uploaded_file($_FILES["file"]["tmp_name"], "upload/"
    // .$_FILES["file"]["name"]);
    echo "Stored in: " . "upload/" . $_FILES ["file"] ["name"];
}
//  }
//  } else { echo "Invalid file"; } 
?>
</body>
</html>
代码语言:javascript
复制
<html>
<body>
<?php
$week = array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
$day = date("w");
$mydate = date("你好! 现在是Y年n月j日H点i分,$week[$day]");
echo $mydate;
?>
</body>
</html>
代码语言:javascript
复制
<?php  
    session_start(); 
    if(isset($_SESSION['user'])){
    header("Location:main.php");//自动跳转到main.php   
    }else{
        //获取用户输入   
        $username  =  $_POST [ 'username' ];  
        $passcode  =  $_POST [ 'passcode' ];  
        $cookie    =  $_POST [ 'cookie' ];  
        //判断用户是否存在,密码是否正确   
        if ($username =="hhh" && $passcode == "12345")  
        {
            $_SESSION['user']=$username;
            header("Location:main.php" );//自动跳转到main.php   
        }
        else{
            echo "用户名或密码错误";
        }
    } 
?>
代码语言:javascript
复制
<?php header('Content-type:text/html;charset=utf-8'); ?>
<html>
<head>
<meta http-equiv= "Content-Type" content=" text/html; charset=UTF-8"> 
</head>
<body>
<?php
if (isset ( $_COOKIE ["username"] )) {
    header ( "location: main1.php" );
} else {
    $username = $_POST ['username'];
    $passcode = $_POST ['passcode'];
    $cookie = $_POST ['cookie'];
    if ($username == "hhh" && $passcode == "12345") {
        switch ($cookie)    
        {
            case 0 :
                setcookie ( "username", $username );
                break;
            case 1 :
                setcookie ( "username", $username, time () + 24 * 60 * 60 );
                break;
            case 2 : 
                setcookie ( "username", $username, time () + 30 * 24 * 60 * 60 );
                break;
            case 3 : 
                setcookie ( "username", $username, time () + 365 * 24 * 60 * 60 );
                break;
        }
        header ( "location: main.php" );
    } else {
        echo "";
    }
}
?>
</body>
</html>

发送邮箱

代码语言:javascript
复制
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<html>
<body>
<?php
if (isset($_REQUEST['emailto']))
{
    $emailto = $_REQUEST['emailto']; 
    $subject = $_REQUEST['subject'];
    $message = $_REQUEST['message'];
    if(mail($emailto,$subject,$message,"From:23232323@hzj.com")){
        echo "谢谢使用本程序!";
    }else{
        echo "未能发送成功!";
    } 
}else{
    echo "<form method='post' action='sendemail.php'>EmailTo:<input name='emailto' type='text' /><br />Subject: <input name='subject' type='text' /><br />Message:<br /><textarea name='message' rows='15' cols='40'></textarea><br /><input type='submit' /></form>";
}
?>
</body>
</html>

PHP Date() 函数可把时间戳格式化为可读性更好的日期和时间

语法

代码语言:javascript
复制
date(format,timestamp)
代码语言:javascript
复制
d - 月中的天 (01-31) 
m - 当前月,以数字计 (01-12) 
Y - 当前的年(四位数) 
代码语言:javascript
复制
<?php 
  echo date("Y/m/d"); 
  echo "<br />"; 
  echo date("Y.m.d"); 
  echo "<br />"; 
  echo date("Y-m-d"); 
?>

PHP 引用文件 include() 或 require() 它们处理错误的方式不同 include() 函数会生成一个警告 require() 函数会生成一个致命错误

PHP 文件处理

代码语言:javascript
复制
fopen ( string $filename , string $mode )

关闭文件

代码语言:javascript
复制
fclose() 函数用于关闭打开的文件

逐行读取文件

代码语言:javascript
复制
fgets() 函数用于从文件中逐行读取文件

PHP 文件上传

代码语言:javascript
复制
<html> <body> 
  <form action="upload_file.php" method="post" enctype="multipart/form-data">
  <label for="file">Filename:</label> 
  <input type="file" name="file" id="file" /> <br />
  <input type="submit" name="submit" value="Submit" /> 
  </form> 
</body> </html> 

<form> 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 “multipart/form-data”。

<input> 标签的 type=“file” 属性规定了应该把输入作为文件来处理。

PHP 的全局数组 $_FILES,存放了上传到服务器的文件的所有信息

代码语言:javascript
复制
$_FILES["file"]["name"] - 被上传文件的名称 
$_FILES["file"]["type"] - 被上传文件的类型 
$_FILES["file"]["size"] - 被上传文件的大小
$_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称 
$_FILES["file"]["error"] - 由文件上传导致的错误代码

“upload_file.php”文件

代码语言:javascript
复制
<?php if ($_FILES["file"]["error"] > 0) { 
 echo "Error: " . $_FILES["file"]["error"] . "<br />"; 
} else { 
 echo "Upload: " . $_FILES["file"]["name"] . "<br />"; 
 echo "Type: " . $_FILES["file"]["type"] . "<br />"; 
 echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"; 
 echo "Stored in: " . $_FILES["file"]["tmp_name"]; 
} ?> 

保存被上传的文件

代码语言:javascript
复制
<?php
 if ((($_FILES["file"]["type"] == "image/gif") || ($_FILES["file"]["type"] == "image/jpeg") || ($_FILES["file"]["type"] == "image/pjpeg")) && ($_FILES["file"]["size"] < 20000)) { 
    if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br />"; }
else { 
   if (file_exists("upload/" . $_FILES["file"]["name"]))
   { echo $_FILES["file"]["name"] . " already exists. "; }
  else { move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]); 
   echo "Stored in: " . "upload/" . $_FILES["file"]["name"]; 
   }
}
} else { echo "Invalid file"; } 
?> 

编码方案

代码语言:javascript
复制
<?php header(‘Content-type: text/html; charset=gbk’);?>//放在php文档的头部
代码语言:javascript
复制
<meta http-equiv= "Content-Type" content=" text/html; charset=UTF-8"> 

编码的转换

代码语言:javascript
复制
string iconv ( string $in_charset , string $out_charset , string $str )

什么是 Cookie? Cookies-在客户端保存信息

cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。

如何创建 cookie? setcookie() 函数用于设置 cookie。

语法

代码语言:javascript
复制
setcookie(name, value, expire, path, domain); 

如何删除 cookie?

代码语言:javascript
复制
<?php       // set the expiration date to one hour ago setcookie("user", "", time()-3600);
 ?> 

Session-在服务器端保存用户信息

PHP session 变量用于存储有关用户会话的信息,或更改用户会话的设置。

Session 的工作机制是:为每个访问者创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,亦或通过 URL 进行传导。

Session 生命周期

开始 session_start() 函数必须位于 <html> 标签之前

存储 Session 变量 使用 PHP $_SESSION 变量

代码语言:javascript
复制
<?php session_start(); $_SESSION['views']=1; ?> 
<?php echo "Pageviews=". $_SESSION['views']; ?>

isset(变量): 判定一个变量是否已经设置。 unset() : 函数用于释放指定的 session 变量 session_destroy() 函数彻底终结 session

PHP mail() 函数 PHP mail() 函数用于从脚本中发送电子邮件

最简单的方式是发送一封文本 email

代码语言:javascript
复制
<?php
  $to = "someone@example.com"; 
  $subject = "Test mail"; 
  $message = "Hello! This is a simple email message.";
   $from = "someonelse@example.com"; 
  $headers = "From: $from";
  mail($to,$subject,$message,$headers);
   echo "Mail Sent."; 
?> 

mailform.php

代码语言:javascript
复制
<?php 
if (isset($_REQUEST['email']))  { 
   $email = $_REQUEST['email'] ; 
  $subject = $_REQUEST['subject'] ;
  $message = $_REQUEST['message'] ; 
  mail( "someone@example.com", "Subject: $subject", $message, "From: $email" ); 
  echo "Thank you for using our mail form"; }
else  { 
  echo "<form method='post' action='mailform.php'> 
  Email: <input name='email' type='text' /><br />
  Subject: <input name='subject' type='text' /><br /> 
  Message:<br /> <textarea name='message' rows='15' cols='40'> </textarea><br /> 
  <input type='submit' /> </form>"; 
} ?>

PHP 异常处理

主动抛出异常: throw 异常对象;

捕获异常

代码语言:javascript
复制
 try { 
  这是放可能产生异常的语句。
 }  catch(Exception $e)
 {
     异常的处理语句;   
}
代码语言:javascript
复制
<?php
foreach($_COOKIE as $key=>$value){
    setCookie($key,"",time()-60);
}
echo "删除所有cookie!";

php高级教程完结!

结言

好了,欢迎在留言区留言,与大家分享你的经验和心得。

感谢你学习今天的内容,如果你觉得这篇文章对你有帮助的话,也欢迎把它分享给更多的朋友,感谢。

感谢!承蒙关照!您真诚的赞赏是我前进的最大动力!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.04.29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 结言
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档