PHP全栈学习笔记16_其他分类

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

修改端口号

PHP全栈学习笔记16_其他分类_02

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

PHP全栈学习笔记16_其他分类_03

php学习

PHP全栈学习笔记16_其他分类_04

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

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 ) 或 者 : s u b s t r ( 原 串 , s t r l e n ( 原 串 ) − n) 或者:substr(原串,strlen(原串)- n)或者:substr(原串,strlen(原串)−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;
?>

PHP全栈学习笔记16_其他分类_05

PHP全栈学习笔记16_其他分类_06

PHP全栈学习笔记16_其他分类_07

PHP全栈学习笔记16_其他分类_08

PHP全栈学习笔记16_其他分类_09

PHP全栈学习笔记16_其他分类_10

检入

PHP全栈学习笔记16_其他分类_11

自定义函数模板

PHP全栈学习笔记16_其他分类_12

PHP全栈学习笔记16_其他分类_13

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

打开php配置文件php.ini

PHP全栈学习笔记16_其他分类_14

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

PHP全栈学习笔记16_其他分类_15

PHP全栈学习笔记16_其他分类_16

允许访问服务器

PHP全栈学习笔记16_其他分类_17

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

PHP全栈学习笔记16_其他分类_18

PHP全栈学习笔记16_其他分类_19

PHP全栈学习笔记16_其他分类_20

zend Studio 中设置

PHP全栈学习笔记16_其他分类_21

PHP全栈学习笔记16_其他分类_22

PHP全栈学习笔记16_其他分类_23

PHP全栈学习笔记16_其他分类_24

Servers
配置local Apache HTTP Server

PHP全栈学习笔记16_其他分类_25

PHP全栈学习笔记16_其他分类_26

PHP全栈学习笔记16_其他分类_27

配置exe文件
PHP全栈学习笔记16_其他分类_28

PHP全栈学习笔记16_其他分类_29

配置debug

PHP全栈学习笔记16_其他分类_30

修改Document Root为

PHP全栈学习笔记16_其他分类_31

PHP全栈学习笔记16_其他分类_32

PHP全栈学习笔记16_其他分类_33

配置默认字符集

PHP全栈学习笔记16_其他分类_34

配置默认字体大小

PHP全栈学习笔记16_其他分类_35

PHP全栈学习笔记16_其他分类_36

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

标签的 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() 函数必须位于 标签之前

存储 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高级教程完结!

结言

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

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

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

PHP全栈学习笔记16_其他分类_37