php简述:php是一种服务器端的脚本语言,用于书写动态的网页
目录
- ***1、static***
- ***2、显示字符串***
- ***3、PHP数组***
- ***4、strlen()函数***
- ***5、strrev()函数***
- ***6、str_word_count()函数***
- ***7、strpos() 函数***
- ***8、str_replace()函数***
- ***9、函数常量 define()***
- ***10、php算数运算符***
- ***11、php运算符***
- ***12、PHP 比较运算符***
- ***13、date()函数***
- ***14、if…else…elseif 语句***
- ***15、switch()函数***
- ***16、while 循环***
- ***17、for 循环***
- ***18、用户定义函数 function()***
- ***19、函数参数***
- ***20、数组***
- ***21、数组排序函数***
- ***22、变量超全局***
- ***23、PHP表单***
- ***24、PHP 表单验证实例***
- ***25、常用系统函数***
- ***26、PHP多维数组***
- ***27、时间 date() 函数***
- ***28、PHP include 和 require 语句***
- ***29、readfile() 函数***
- ***30、fopen() 函数***
- ***31、fread() 函数***
- ***32、fclose() 函数***
- ***33、 fgets() 函数***
- ***34、 feof() 函数***
- ***35、 fgetc() 函数***
- ***36、上传文件***
- ***37、PHP Cookies***
- ***38、PHP Sessions***
- ***39、PHP 发送电子邮件***
- ***40、PHP文件上传***
1、static
当函数完成执行后,会将所有变量成为初始化,不过有时候我们不需要初始化,不需要时,我们的 static 就可以上场了。
<?php
function myTest(){
static $a=0;
echo $a;
$a++;
}
myTest();
myTest();
myTest();
?>
结果: 012
2、显示字符串
调用数组的格式—— {$cars[0]} —— {数组名[序号数]}
<?php
$text1="Learn PHP";
$test2="book";
$cars=array("Volvo","BWM","SAAB");
echo "$text1;";
echo "<br>";
echo "study PHP at $test2;";
echo "<br>";
echo "my car is a {$cars[0]};";
?>
3、PHP数组
var_dump() 会返回变量的数据类型和值
<?php
$cars=array("Volvo","BMW","SAAB");
var_dump($cars);
?>
结果:array(3) { [0]=> string(5) “Volvo” [1]=> string(3) “BMW” [2]=> string(4) “SAAB” }
4、strlen()函数
返回字符串中的 字符数
<?php
echo strlen("hello world!");
?>
12
5、strrev()函数
函数反转字符串
<?php
echo strrev("hello world!");
?>
!dlrow olleh
6、str_word_count()函数
函数对字符串中单词的记数
<?php
echo str_word_count("hello world!");
?>
结果:2
7、strpos() 函数
搜索单词
8、str_replace()函数
更换单词
<?php
echo str_replace("world", "Kitty", "Hello world!"); // 输出 Hello Kitty!
?>
结果:Hello Kitty!
9、函数常量 define()
常量定义,调用常量
自动全局的,可以贯穿整个脚本使用
<?php
define ("GREEING","Welcome to CSDN!");
echo GREEING;
?>
结果:Welcome to CSDN!
10、php算数运算符
11、php运算符
12、PHP 比较运算符
13、date()函数
<?php
echo date("Y-m-d",1335283200);
?>
2012-04-25
<?php
//将时间戳以年月日时分秒的形式输出
echo date("Y-m-d H:i:s",1335283200);
?>
2012-04-24 16:00:00
14、if…else…elseif 语句
<?php
$t=date("H");
if($t<"10"){
echo "Have a good moring!";
}
else if($t<"20"){
echo "Have a good day!";
}
else {
echo "Have a good night!";
}
?>
结果:Have a good day!
15、switch()函数
<?php
$favfruit="orange";
switch($favfruit){
case "apple":
echo "your favfruit fruit is apple!";
break;
case "banana":
echo "your favfruit fruit is banana!";
break;
case "orange":
echo "your favfruit fruit is orange!";
break;
default:
echo "your favorite fruit is neither apple,banana,or orange!";
}
?>
结果:your favfruit fruit is orange!
16、while 循环
<?php
$x=1;
while($x<=5){
echo "这个数字是:$x <br>";
$x++;
}
结果:
这个数字是:1
这个数字是:2
这个数字是:3
这个数字是:4
这个数字是:5
do…while循环
<?php
$x=1;
do {
echo "这个数字是:$x <br>";
$x++;
} while ($x<=5);
?>
结果:数字是:1
数字是:2
数字是:3
数字是:4
数字是:5
17、for 循环
18、用户定义函数 function()
<?php
function sayHi() {
echo "Hello world!";
}
sayhi(); // 调用函数
?>
结果:Hello world!
19、函数参数
<?php
function familyName($fname){
echo "$fname Zhang.<br>";
}
familyName("li");
familyName("Hong");
familyName("xiao mei");
familyName("jian");
?>
结果:
li Zhang.
Hong Zhang.
xiao mei Zhang.
jian Zhang.
返回值
<?php
function sum($x,$y){
$z=$x+$y;
return $z;
}
echo "5+10=".sum(5,10)."<br>";
echo "7+13=".sum(7,13)."<br>";
?>
5+10=15
7+13=20
20、数组
计算元素数
<?php
$cars=array("bob","tom","lina");
echo count($cars);
?>
结果:3
遍历
<?php
$cars=array("porsche","BMW","Volvo");
for($x=0;$x<3;$x++) {
echo $cars[$x];
echo "<br>";
}
?>
结果:
porsche
BMW
Volvo
<?php
$cars=array("porsche","BMW","Volvo");
$length=count($cars);
for($x=0;$x<$length;$x++) {
echo $cars[$x];
echo "<br>";
}
?>
porsche
BMW
Volvo
21、数组排序函数
sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序
22、变量超全局
input type=“submit” 和"button"有什么区别?
-
<input type="button" /> 这就是一个按钮。如果你不写javascript 的话,按下去什么也不会发生。
-
<input type="submit" /> 这样的按钮用户点击之后会自动提交 form,除非你写了javascript 阻止它。
-
<button> 这个按钮放在 form 中也会点击自动提交,比前两个的优点是按钮的内容不光可以有文字,还可以有图片等多媒体内容。(当然,前两个用图片背景也可以做到)。它的缺点是不同的浏览器得到的 value 值不同;可能还有其他的浏览器兼容问题(葛亮)。
post
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
$name = $_POST['fname'];
echo $name;
?>
</body>
</html>
get
<html>
<body>
<a href="test_get.php?subject=PHP&web=W3school.com.cn">测试 $GET</a>
</body>
</html>
<html>
<body>
<?php
echo "在 " . $_GET['web'] . " 学习 " . $_GET['subject'];
?>
</body>
</html>
23、PHP表单
post
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>
<html>
<body>
Welcome <?php echo $_POST["name"]; ?><br>
Your email address is: <?php echo $_POST["email"]; ?>
</body>
</html>
get
<html>
<body>
<form action="welcome_get.php" method="get">
Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>
</body>
</html>
<html>
<body>
Welcome <?php echo $_GET["name"]; ?><br>
Your email address is: <?php echo $_GET["email"]; ?>
</body>
</html>
get 和 post 的区别:
- get通过URL参数进行传递到当前脚本的变量数组
- 通过 HTTP POST 传递到当前脚本的变量数组
- get 发送的信息对所有人都可见,不能发送敏感信息,发送信息的数量有限
在URL中显示,添加某些东西不方便 - post 发送的信息对所有人都不可见,可以发送敏感信息,对发送的信息没有限制,开发者偏好用post
24、PHP 表单验证实例
cols和设置宽度,通过rows设置高度。
在这里插入代码片
25、常用系统函数
- 输出函数
输出函数:
echo — printf
print_r() 不输出数据类型,只会输出值,数组答应比较多
<?php
$a='hello world<br>';
print_r($a);
?>
- 时间函数
date():
time():返回当前的时间戳
microtime():计算微秒数
‘< h r/ >’ — 输出分界线
26、PHP多维数组
<!DOCTYPE html>
<html>
<body>
<?php
$cars = array
(
array("Volvo",33,20),
array("BMW",17,15),
array("Saab",5,2),
array("Land Rover",15,11)
);
echo $cars[0][0].": 库存:".$cars[0][1].", 已售:".$cars[0][2].".<br>";
echo $cars[1][0].": 库存:".$cars[1][1].", 已售:".$cars[1][2].".<br>";
echo $cars[2][0].": 库存:".$cars[2][1].", 已售:".$cars[2][2].".<br>";
echo $cars[3][0].": 库存:".$cars[3][1].", 已售:".$cars[3][2].".<br>";
?>
</body>
</html>
结果:
Volvo: 库存:33, 已售:20.
BMW: 库存:17, 已售:15.
Saab: 库存:5, 已售:2.
Land Rover: 库存:15, 已售:11.
27、时间 date() 函数
<!DOCTYPE html>
<html>
<body>
<?php
echo "今天是 " . date("Y/m/d") . "<br>";
echo "今天是 " . date("Y.m.d") . "<br>";
echo "今天是 " . date("Y-m-d") . "<br>";
echo "今天是 " . date("l");
?>
</body>
</html>
================================================================
<?php
echo "当前时间是 " . date("h:i:sa");
?>
================================================================
28、PHP include 和 require 语句
require 会生成致命错误(E_COMPILE_ERROR)并停止脚本
include 只生成警告(E_WARNING),并且脚本会继续
注释:
请在此时使用 require:当文件被应用程序请求时。
请在此时使用 include:当文件不是必需的,且应用程序在文件未找到时应该继续运行时。
29、readfile() 函数
<?php
echo readfile("webdictionary.txt");
?>
写入文件
30、fopen() 函数
打开文件的更好的方法是通过 fopen() 函数
31、fread() 函数
fread() 函数读取打开的文件
32、fclose() 函数
fclose() 函数用于关闭打开的文件
33、 fgets() 函数
fgets() 函数用于从文件读取单行
34、 feof() 函数
feof() 对于遍历未知长度的数据很有用
35、 fgetc() 函数
fgetc() 函数用于从文件中读取单个字符
36、上传文件
$_FILES[“file”][“name”] - 被上传文件的名称
$_FILES[“file”][“type”] - 被上传文件的类型
$_FILES[“file”][“size”] - 被上传文件的大小,以字节计
$_FILES[“file”][“tmp_name”] - 存储在服务器的文件的临时副本的名称
$_FILES[“file”][“error”] - 由文件上传导致的错误代码
<?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 "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"];
}
}
else
{
echo "Invalid file";
}
?>
对文件上传的限制。用户只能上传 .gif 或 .jpeg 文件,文件大小必须小于 20 kb:
<?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
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
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";
}
?>
保存被上传的文件