PhP的基本使用
html、css、Js---解析 成图形界面--浏览器(Browser)--输入地址--网络--服务器(Server)-----再通过浏览器解析成 图形界面
端口:电脑需要为网站分配资源,不同服务器默认的端口是80(现是0),如果被使用可以更换其他的端口,或把占用的软件关闭
172.0.0.1自己访问主机
172.0.0.1/html名,打开每一个页面,默认打开index.html
初认PhP
PHP是一种服务器端HTML嵌入式脚本描述语言,其最强大和最重要的特性就是跨平台和面向对象
1)PHP(超文本处理器),是一种服务器端端、跨平台、HTML嵌入式的脚本语言。PHP是B/S(Brower/Server的简写,即浏览器/服务器结构)体系结构,属于三层结构。
2)跨平台性:PHP几乎支持所有的操作系统。并且支持Apache、Nginx、IIS等多种Web服务器。
每个语句都要加分号
php环境搭建
1.工具phpStudy
1)WAMP W:windows A:apache M:mysql P:php
2)LAMP Linux apache mysqle php
3)LNMP Linux Nginx mysqle php (软件:apache与nagin帮助解析php文件)
php创建
php必须写在phpstudy根目录下 打开方式:
(1)127.0.0.1/目录
(2)localhost/目录
选择语句
if(条件)
{ 满足时; }
else
{不满足时;}
switch语句
switch(值)
{
case 值: 语句;
break;
...
}
循环语句
for\while\do...while (c语言一样)
字符串拼接 .$变量名.
foreach 循环
$colors = array("red","green","blue","yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
参数一:循环的对象。
参数二:将对象的值挨个取出,直到最后。
如果循环的是对象,输出的是对象的属性的值。
数组
定义数组:$数组名=array(内容)
$footArr=array('留恋','怀念','思念')
$person=array('name'=>'吴京','film'=>'展览','wife'=>'元素3')
数组的使用 1.索引
完整输出数组: print_r($数组名);
遍历数组: 循环输出数组:
for($i=0;$i<count($startarr);$i++){
echo '提示语'.$startarr[$i]['name'].'提示语'.$start[$i]['film'];
echo '<br>';
}
二维数组:
$startarr=(
array('name'=>'元素1','film'=>'元素2'),
array('name'=>'元素1','film'=>'元素2'),
array('name'=>'元素1','film'=>'元素2')
);
解析PHP文件 成html文件--浏览器解析成画面 (利用php语法,自定义画面) php文件可写在html文件任何位置,以php文件标签为标准,否则以文件形式解析
函数
语法格式 function functionName() { //这里写代码 }
1.有参数、无返回值的函数
function sayName($name)
{ echo $name.'你好'; }
// 调用 sayName('smyhvae');
2.有参数、参数有默认值的函数
function sayFood($food='西兰花')
{ echo $food.'好吃'; }
// 调用 sayFood('西葫芦');
// 如果传入参数,就使用传入的参数 sayFood();
// 如果不传入参数,直接使用默认值
3.有参数、有返回值的函数
function sum($a,$b)
{ return $a+$b }
sum(1,2);
// 返回值为1+2=3
header()函数
浏览器访问http服务器,接收到响应时,会根据响应报文头的内容进行一些具体的操作。在php中,我们可以根据 header 来设置这些内容。
header()函数的作用:用来向客户端(浏览器)发送报头。直接写在php代码的第一行就行
1.设置编码格式
header('content-type:text/html; charset= utf-8');
2.设置页面跳转
header('location:http://www.baidu.com');
3.设置页面刷新的间隔
header('refresh:3; url=http://www.xiaomi.com');
几种输出
1.echo:只能输出字符串,不能输出数据类型 、数组等多种数据
2.print_r:索引、元素
3.print:只能输出字符串等单一数据 不能输出数据类型 不能输出数组等多种数据有返回值true/false
4.var_dump:索引、元素、长度、数据类型
5.die:有两个功能:先输出内容,然后退出程序
echo详情
1.无引号:解析变量,数字
2.单引号:内部的内容只是作为字符串
3.双引号:自动解析php与html
变量拼接
-
echo 。。。"变量"。。。(双引号内自动解析php、html)
-
echo 。。。 .变量. 。。。(在需要连接的地方用.连接)
get与post上传数据
html上传数据
html文件(输入数据):
<form action="02text.php" method="get">
<label for="">姓名:
<input type="text" name="userName">
</label>
<br/>
<label for="">邮箱:
<input type="text" name="userEmail">
</label>
<br/>
<label for="">QQ:
<input type="text" name="QQ">
</label>
<br/>
<input type="submit" name="">
</form>
(1)form内设置action="地址",即提交后跳转的页面
(2)利用input输入数据,数据储存到服务器中
(3)提交数据:input type="submit"--提交按钮
(4)name是get/post这个关系型数组的索引(key)
(5)在这里决定用post还是get(method="get"这里是post)
php输出数据
php(输出数据):
<?php
echo $_GET;//结果是arr
echo '用户名:'.$_GET['userName'];
echo "<br/>";
echo '邮箱:'.$_GET['userEmail'];
echo "<br/>";
echo '姓名:'.$_GET['userName'].',邮箱:'.$_GET['userEmail'].',QQ:'.$_GET['QQ'];
echo '<br/>';
var_dump($_GET);
echo "<br/>";
print_r($_GET);
?>
(1)$_GET或$_POST,是一个关系型数组,其中name是这个数组中的索引
(2)$_GET或$_POST,输出该数组的全部内容
(3)$_GET['key']或$_POST['key'],输出元素内容(key是在输入时定义的name值)
区别:
(1)get在搜索栏中显示数据、post不显示
(2)文件的提交只能用post
html上传文件
<form action="./file_post.php" method="post" enctype="multipart/form-data">
<label for="">照片:
<input type="file" name="picture"></label>
<br/>
<input type="submit" name="">
</form>
(1) enctype="multipart/form-data 是用来制定传输数据的特殊类型的,主要就是我们上传的非文本的内容,比如图片或是是mp3等。(print_r与var_dump等都无法打印数据结果)
php输出文件信息
print_r($_FILES);
echo '<br>';
var_dump($_FILES);
echo '<br/>';
echo "文件名称:".$_FILES["picture"]["name"]."<br>";
echo "文件类型:".$_FILES["picture"]["type"]."<br>";
echo "文件大小:".($_FILES["picture"]["size"]/1024)."kb<br>";
echo "临时目录:".$_FILES["picture"]["tmp_name"]."<br>";
(1)$FILES是一个复杂的关系型数组/二维数组
(2)$FILES'name'
(3)$_FILES'name'中双引号还是单引号没有要求,都可以使用
查看文件上传失败类型
$_FILES[‘myFile’][‘error’]
UPLOAD_ERR_OK
值:0; 没有错误发生,文件上传成功。
UPLOAD_ERR_INI_SIZE
值:1; 上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。
UPLOAD_ERR_FORM_SIZE
值:2; 上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
UPLOAD_ERR_PARTIAL
值:3; 文件只有部分被上传。
UPLOAD_ERR_NO_FILE
值:4; 没有文件被上传。
值:5; 上传文件大小为0.