PHP简单了解
这里简单了解了一下服务器后端开发语言的一种,PHP,对于客户端如何与后端服务器实现数据交换以及网络请求具有一定的帮助!
-
基本简介
—服务器:一台提供了某种服务功能的超级电脑,比如文件服务器、邮件服务器、Web服务器等;
—如何将电脑提供某种服务,则需要安装相应的软件,比如电脑提供聊天服务,就需要安装相应的聊天软件,电脑提供浏览网页服务,就需要安装相应的浏览网页软件;
—电脑需要安装Web服务相关软件才能提供管理网站的服务,安装了Web服务软件的电脑,称为Web服务器,Web服务器软件:Apache、IIs、Tomcat、Nginx、NodeJS等;
—WAMPServer软件:
【1】W:Windows操作系统
【2】A:Apache世界排名第一的服务器软件,特点是简单、速度快、性能稳定;
【3】M:MySQL开源免费的数据库软件,特点是体积小,速度快、使用成本低;
【4】P:PHP超文本预处理器,直接将代码嵌入HTML文档中执行;
-
PHP后端开发语言
—PHP是服务器端开发语言,所以要在服务器端运行;
—PHP编程软件可以使用PhpStorm;php文件名不能有中文,并且php文件必须放到服务器文件夹下;通过ip找到服务器文件夹,选中php文件访问;
—后端开发的语言必须在服务器下运行,服务器文件夹即为WAMPServer软件的安装目录下的www文件夹,通过IP地址(127.0.0.1)访问的默认情况下就是www文件夹,然后我们可以在文件夹下找到对应的html文件才可以在浏览器中运行访问;
PHP基本语法
<?php //单行注释 /*多行注释*/ //定义变量,变量命名规范和JS中一致 $num = 10; //打印内容 echo $num; //定义数组 $arr = (1,3,5); //php中不能使用echo输出集合类型数据,通常使用print_r print_r($arr); //取出数组中的内容,可以通过echo输出数组某个内容 echo $arr[1]; //定义字典/对象 $dict = array("name" => "Tom","age" => "33"); print_r($dict); //取出字典内容 echo $dict["name"]; //php中分支循环语句:if/switch/三目运算/for/while与JS中一致 //for循环 //注意在php中数组大小使用count() for($i = 0; $i < count($arr); $i++){ //依次取出数组$arr的数据 echo $arr[$i]; echo "<br>"; } ?>
-
前端向服务器提交请求
get
请求处理—这里以表单提交数据为例,实现向特定网址提交数据;
—如果通过
get
请求提交数据将会把提交的数据拼接到URL后面;<!--使用get请求提交数据--> <form action="getTest.php" method="get"> //必须设置name属性才可以提交数据 <input type="text" name="userName"> </form>
—PHP
$_GET
也可用于收集提交 HTML 表单 (method="get"
) 之后的表单数据;post
请求处理—只需要改为
method = "post"
—
post
不会把提交数据拼接到URL上,会将数据放在请求Header中,可以在控制台Network进行查看;—PHP
$_POST
也可用于收集提交 HTML 表单 (method="post"
) 之后的表单数据;get
和post
请求的异同—相同点:都是将数据提交到远程服务器上;
—不同点:
【1】提交数据存储位置不同:
get
请求将数据放到URL后面,post
请求会将数据放到请求头中;【2】提交数据大小限制不同:
get
请求对数据大小有限制,而post
请求数据大小无限制;【3】应用场景:
get
请求用于提交非敏感数据和小数据;post
请求用于提交敏感数据和大数据; -
post
文件上传—网页中通过表单实现文件上传:
<input type="file" name="upFile">
;注意:<form>
标签的enctype
属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用"multipart/form-data"
—在后端获取文件,通过php文件下
$_FILES
输出得到文件的相关信息,这里包含一个临时路径,上传的文件会被后端放在这个临时文件夹tmp下;—因此我们要获取上传的文件,必须将文件从临时文件夹下取出放到个人目录下,否则会被服务器后端销毁;
【1】首先获取上传文件对应的字典:
$fileInfo = $_FILES['upFile'];
【2】获取上传文件的名称:
$fileName = $fileInfo['name'];
【3】获取上传文件保存的临时路径:
$filePath = $fileInfo['tmp_name'];
【4】将文件移动到个人目录下:
move_uploaded_file($filePath,"./source".$fileName);
该函数传递两个参数,一个是文件原始路径,一个是文件移动的新路径,并通过拼接可以将文件放置新路径下;
—默认情况下,PHP中通过
post
上传文件不会限制大小,但是Web服务器会限制文件的大小;因此可以修改Web服务器的配置php.ini文件(在Web服务器软件的安装目录下,./wamp64/bin/apache/apache2.4.23/bin/php.ini)以上传大文件,然后重启文件,注意上传文件的如果存在中文,在服务器端接收到文件名称会乱码;