PHP基础入门
PHP是一种运行在服务器端的脚本语言,可以镶嵌到HTML当中
脚本标记 : <script language="php">php代码</script>
变量可以是很短的名称(如x,y)或者更具描述性的名称(如age,carname)
在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中任何部分访问,要在一个函数中访问一个全局变量,需要使用global关键字
在函数内调用函数外定义的全局变量,需要在函数中的变量前加上 global 关键字
当一个函数完成时,它的所有变量通常都会被删除若使某个局部变量不要被删除。在第一次声明变量时使用 static 关键字
echo 是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo()
print 同样是一个语言结构,可以使用括号,也可以不使用括号: print 或 print()
PHP EOF(heredoc)是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字符串的方法。
EOF可以用任意其它字符代替,只需保证结束标识与开始标识一致。
结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。
和 echo 最主要的区别: print 仅支持一个参数,并总是返回 1。
打印关于变量的易于理解的信息,如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。
此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。
var_dump 返回表达式的类型与值而 print_r 仅返回结果,相比调试代码使用 var_dump 更便于阅读。
PHP 变量存储不同的类型的数据,不同的数据类型可以做不一样的事情。
整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)
必须使用class关键字声明类对象。类是可以包含属性和方法的结构。
NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。
NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。
PHP 资源 resource 是一种特殊变量,保存了到外部资源的一个引用。
由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此将其它类型的值转换为资源没有意义。
使用 get_resource_type() 函数可以返回资源(resource)类型
严格比较:用三个等号 === 比较,除了比较值,也比较类型。
一个常量由英文字母,下划线,和数字组成,但数字不能作为首字母出现。(常量名不需要加$修饰符).
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
case_insensitive :可选参数,如果设置为 TRUE,该常量则大小写不敏感。默认是大小写敏感的。
常量在定义后,默认是全局变量,可以在整个运行的脚本的任何地方使用
echo strpos("hello world","world");
字符串运算符"."可将两个字符串连接起来,结合成一个新的字符串.PHP中"+"只能用作赋值运算符,而不能用作字符串运算符
算术运算符适合在有两个或者两个以上不同操作数的场合使用,当只有一个操作数时,要体现其增减变化,可以使用递增运算符 "++"或者递减运算符"--"
if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块
do...while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环
do...while 语句会至少执行一次代码,然后检查条件,只要条件成立,就会重复进行循环。
$cars=array("Volvo","BMW","Toyota");
$cars=array("Volvo","BMW","Toyota");
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
遍历并打印关联数组中的所有值,您可以使用 foreach 循环
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Key=" . $x . ", Value=" . $x_value;
PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。
$GLOBALS 是PHP的一个超级全局变量组,在一个PHP脚本的全部作用域中都可以访问。
$GLOBALS 是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
phpinfo函数可以显示出PHP所有相关信息.是排查配置php是否出错或漏配置模块的主要方式之一
不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。
文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。
它等价于 dirname(FILE)。除非是根目录,否则目录中名不包括末尾的斜杠。
echo 'class name' . _CLASS_."<br>";
PHP 中的 $_GET 和 $_POST 变量用于检索表单中的信息,比如用户输入。
<form action="welcome.php" method="post">
名字: <input type="text" name="fname">
年龄: <input type="text" name="age">
<input type="submit" value="提交">
<option value="">选择一个站点:</option>
<option value="baidu">Baidu</option>
<option value="google">Google</option>
<option value="taobao">Taobao</option>
<input type="submit" value="提交">
如果下拉菜单是多选的( multiple="multiple"),通过将设置 select name="q[]" 以数组的方式获取
<form action="" method="post">
<select multiple="multiple" name="q">
<option value="">选择一个站点:</option>
<option value="BAIDU">BAIDU</option>
<option value="GOOGLE">Google</option>
<option value="TAOBAO">Taobao</option>
<input type="submit" value="提交">
PHP 单选按钮表单中 name 属性的值是一致的,value 值是不同的
<input type="radio" name="q" value="RUNOOB" />Runoob
<input type="radio" name="q" value="GOOGLE" />Google
<input type="radio" name="q" value="TAOBAO" />Taobao
<input type="submit" value="提交">
<form action="" method="post">
<input type="checkbox" name="q[]" value="RUNOOB"> Runoob<br>
<input type="checkbox" name="q[]" value="GOOGLE"> Google<br>
<input type="checkbox" name="q[]" value="TAOBAO"> Taobao<br>
<input type="submit" value="提交">
include 和 require 语句用于在执行流中插入写在其他文件中的有用的代码。
include 和 require 除了处理错误的方式不同之外,在其他方面都是相同的:
require 生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本会停止执行。
include 生成一个警告(E_WARNING),在错误发生后脚本会继续执行。
<?php include 'header.php'; ?>
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file">文件名:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="提交">
echo "上传文件名: " . $_FILES["file"]["name"] . "<br>";
echo "文件类型: " . $_FILES["file"]["type"] . "<br>";
echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"];
if ($_FILES["file"]["error"] > 0)
echo "错误:" . $_FILES["file"]["error"] . "<br>";
echo "上传文件名: " . $_FILES["file"]["name"] . "<br>";
echo "文件类型: " . $_FILES["file"]["type"] . "<br>";
echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"];
第一个参数是表单的 input name,第二个下标可以是 "name"、"type"、"size"、"tmp_name" 或 "error"。如下所示:
$_FILES["file"]["name"] - 上传文件的名称
$_FILES["file"]["type"] - 上传文件的类型
$_FILES["file"]["size"] - 上传文件的大小,以字节计
$_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"] - 由文件上传导致的错误代码
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);//explode() 函数使用一个字符串分割另一个字符串,并返回由字符串组成的数组。
$extension = end($temp); // 获取数组最后的数值
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 204800) // 小于 200 kb
&& in_array($extension, $allowedExts))
if ($_FILES["file"]["error"] > 0)
echo "错误:: " . $_FILES["file"]["error"] . "<br>";
echo "上传文件名: " . $_FILES["file"]["name"] . "<br>";
echo "文件类型: " . $_FILES["file"]["type"] . "<br>";
echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"];
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp); // 获取文件后缀名
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 204800) // 小于 200 kb
&& in_array($extension, $allowedExts))
if ($_FILES["file"]["error"] > 0)
echo "错误:: " . $_FILES["file"]["error"] . "<br>";
echo "上传文件名: " . $_FILES["file"]["name"] . "<br>";
echo "文件类型: " . $_FILES["file"]["type"] . "<br>";
echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"] . "<br>";
// 如果没有 upload 目录,你需要创建它,upload 目录权限为 777
if (file_exists("upload/" . $_FILES["file"]["name"]))
echo $_FILES["file"]["name"] . " 文件已经存在。 ";
// 如果 upload 目录不存在该文件则将文件上传到 upload 目录下
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
echo "文件存储在: " . "upload/" . $_FILES["file"]["name"];
setcookie(name, value, expire, path, domain);
setcookie("user", "admin", time()+3600);
echo "欢迎 " . $_COOKIE["user"] . "!<br>";
setcookie("user", "", time()-3600);
echo "浏览量:". $_SESSION['views'];
$_SESSION['views']=$_SESSION['views']+1;
echo "浏览量:". $_SESSION['views'];
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验