php substr 去掉前n位_PHP全栈学习笔记16

44e811c1dedc9277b2e2d1882e6f0ee1.png
<?php
$fileName = "php大师.test.php";
//补充程序,显示文件名(不包括扩展名)
$start = strrpos($fileName, ".");
$newStr = substr($fileName,0, $start);
var_dump ( $newStr );
?>
<?php
for($i=100;$i<1000;$i++){
    if(($i*$i)%1000==$i)
    {
        echo $i;
        echo "<br/>";
    }
}
?>
<?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";
}
?>
<?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"];
?>
<?php
// 显示右边n个字符
$n = 5;
$oldStr = "dsfasfasf";
$rightStr = subStr ( $oldStr, strlen($oldStr) - $n );
var_dump ( $rightStr );
?>
<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>
好好学习,天天向上
<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>

修改端口号

c1c3f6154b83222fea6cc3405e81544f.png


image.png

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

8c40aaa41aea580218fbaf0f236b2f3c.png


image.png

php学习

590746db7910ce06c08966de234e7f51.png


image.png

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

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个字符构成的子串

显示去掉扩展名的文件名

$dotpos = strpos($fileName,".");
echo substr($fileName,0, $dotpos);
$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;}
对于表达式:A && B,如果A为假,则不再计算表示式B的值
对于表达式:A || B,如果A为真,则不再计算表示式B的值

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

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

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

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

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

伪类型
mixed、number、void、callback

<?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;
?>

c9604410b061ad87aa20bec225bec19c.png


image.png

aaa1ea6b53493e44e69f418a6fc55017.png


image.png

59e755a29a4cf6691ee15c77fcc409ee.png


image.png

4f1b424475633f41e4ffa9ac0f9e89cc.png


image.png

aebf7a88703f03200ddc1bf186204706.png


image.png

603a2a258a47495f4cd052cdcca834fe.png


image.png

检入

df939435f01ea096e791e9848cc0e72d.png


image.png

自定义函数模板

7cd7cd68a7565cfb051659a353d6c5b1.png


image.png

39c7cd43394df668af19a79e5b76a0e3.png


image.png

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

打开php配置文件php.ini

77419822d691b95f397368d68f550234.png


image.png

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

6066d21f018651a64326576da9b460aa.png


image.png

426b9bde14d1595b4f07273cc5df5161.png


image.png

允许访问服务器

fab032a82a4062bb6ad72425c5a6cd31.png


image.png

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

10ff9863ef9efc2561186d464dd10c5e.png


image.png

81803a77672f215215fbbb9c56f0b947.png


image.png

153bfa98242fbddc591ffe249ebe84e6.png


image.png

zend Studio 中设置

6936f417e7b5e9ecc88dfc8c6eb9dfcb.png


image.png

794e08bba2846a440664a58323b56d78.png


image.png

4ad549f77314ba52d3427895fa2f8126.png


image.png

ad129ef499096792728d0c8f91a92a9b.png


image.png

Servers
配置local Apache HTTP Server

4ad549f77314ba52d3427895fa2f8126.png


image.png

ad129ef499096792728d0c8f91a92a9b.png


image.png

94f5acf865b0f3dc47a1fe3cdd57a296.png


image.png

配置exe文件

fab74b0edad158c2e6a914bbef1a0168.png


image.png

a29da4a7308c26f0bffd6dacb6a361b8.png


image.png

配置debug

7cc69be6f2dd6f360cdef59ee83ae498.png


image.png

修改Document Root为

6bbd7adffd34b8e701f074f4b656cbcc.png


image.png

46e84c279840fae5d30de915c5a660f0.png


image.png

0811e9032051fdd78913b17c7adbd02e.png


image.png

配置默认字符集

32b2e2c477f0c19ebaddb3e9dcc945dd.png


image.png

配置默认字体大小

79287a187ddd7fdd65be43fa299d5d6c.png


image.png

c6598b8d8a6d4cd959c332e442479bd0.png


image.png

<!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>
<html>
<body>
<?php
$week = array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
$day = date("w");
$mydate = date("你好! 现在是Y年n月j日H点i分,$week[$day]");
echo $mydate;
?>
</body>
</html>
<?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 "用户名或密码错误";
        }
    } 
?>
<?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>

发送邮箱

<!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() 函数可把时间戳格式化为可读性更好的日期和时间

语法

date(format,timestamp)
d - 月中的天 (01-31) 
m - 当前月,以数字计 (01-12) 
Y - 当前的年(四位数)
<?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 文件处理

fopen ( string $filename , string $mode )

关闭文件

fclose() 函数用于关闭打开的文件

逐行读取文件

fgets() 函数用于从文件中逐行读取文件

PHP 文件上传

<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,存放了上传到服务器的文件的所有信息

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

“upload_file.php”文件

<?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"]; 
} ?>

保存被上传的文件

<?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"; } 
?>

编码方案

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

编码的转换

string iconv ( string $in_charset , string $out_charset , string $str )

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

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

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

语法

setcookie(name, value, expire, path, domain);

如何删除 cookie?

<?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 变量

<?php session_start(); $_SESSION['views']=1; ?> 
<?php echo "Pageviews=". $_SESSION['views']; ?>

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

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

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

<?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

<?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 异常对象;

捕获异常

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

php高级教程完结!

结言

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值