wampserver安装及使用
1. wampserver安装
- a:安装 Web 服务器Apache
- p:安装 PHP解析器
- m:安装MySQL数据库
对于初学者建议使用集成的服务器组件(如:WampServer),它已经包含了 PHP、Apache、Mysql 等服务,免去了开发人员将时间花费在繁琐的配置环境过程。
WampServer下载地址:http://www.wampserver.com/
若是缺乏某个dll,直接安装vc_redist.x64_2015.exe
【计算机-管理-服务和应用程序-服务-wampapache-wampmysql(开启服务前,先停止svn、mysql、iis)】
测试:
当wampserver图片变成绿色:
- 网址中输入localhost或127.0.0.1(本机ip),默认打开C:\wamp64\www路径下的index.php
- 同样可以localhost/*** 访问默认路径下(C:\wamp64\www)的任意文件
2.创建虚拟目录
- 左键小图标—->apache—->alias directories—>add an alias
- 创建虚拟目录名字,例如aaa。enter后
- 创建虚拟目录对应的url,即需要开启web服务的文件夹路径(路径不可有中文、空格)
- 以上步骤完毕,访问虚拟目录只需在浏览器输入http://localhost/aaa,可访问目录下任意文件。
3.创建端口
左键小图标—->apache—->httpd-vhost.conf
复制如下代码,往下写。(//只是注释,记得删掉)
1
2
3
4
5
6
7
8
9
10listen 1704 //端口号
<VirtualHost *:1704> //端口号
ServerName localhost
DocumentRoot D:\laoxie\01Basic //端口对应url(不可有中文路径、空格)
<Directory "D:\laoxie\01Basic"> //端口对应url
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>以上步骤完毕,访问端口下目录只需在浏览器输入http://localhost:1704,可访问目录下任意文件。
4.开启局域网服务器
1.查看本机ip地址:common+r进入cmd,输入ipconfig,查看ipv4。
2.在vhost.conf给端口对应的url添加一句代码
1 | #Require local //#代表注释 |
PHP
1.概念
PHP是一种通用开源服务端脚本语言,将程序嵌入到HTML文档中去执行,结果以纯 HTML 形式返回给浏览器。
PHP: Hypertext Preprocessor “超文本预处理器”,1994年由Rasmus Lerdorf创建,刚刚开始仅仅是为了要维护他本人个人网页而制作的一个简单程序(Perl语言编写),原名Personal Home Page(PHP由此得名),后用C语言重新编写,改名Hypertext Preprocessor
PHP能做什么:
- 生成动态页面内容
- 创建、打开、读取、写入文件
- 收集ajax数据
- 发送和接收cookie
- 添加、删除、修改您的数据库中的数据
- 限制用户访问您的网站上的一些页面
- 加密数据
2.基本语法
- 默认文件扩展名是 “.php”。
- 通常包含 HTML 标签和一些 PHP 脚本代码。
分界标示符
1 | <?php //开始 |
注释
与js一样,分单行和多行注释
- 单行注释:
//
- 多行注释:
/**/
输出语句
echo
可以输出一个或多个字符串(字符串可以包含HTML标签),速度较快,一般用于向前端返回数据
1
2
3
4
5
6<?php
//输出一个字符
echo "Hello world!<br>";
//输出多个字符
echo "This", " string", " was", " made", " with multiple parameters.";
?>1
2
3
4
5json_encode(array,JSON_UNESCAPED_UNICODE); 把数组转成字符串
php5.4+ 使用JSON_UNESCAPED_UNICODE防止中文转义
json_decode(json,assoc);把字符串转成数组/对象
json:待解码的 json string 格式的字符串
assoc:默认false,返回object, 当该参数为 true 时,将返回arrayprint_r()
打印关于变量的信息,适用于数组、对象的打印,一般用于测试var_dump()
判断一个变量的类型与长度,并输出变量的数据类型和数值,一般用于测试
3.变量
命名规则
- 以 $ 符号开始,后面跟着变量的名称($称为标识符,不属于变量组成部分)
- 只能包含字母、数字字符以及下划线,不能以数字开头(不能包含空格)
- 区分大小写
1 | //PHP 没有声明变量的命令,也没有声明提前的概念。 |
拼接字符串及变量
1 | <?php |
函数中访问全局变量!!!
- 全局变量:在函数外部定义的变量,可以在任意位置访问(需要手动定义为全局变量)
- 局部变量:函数内部声明的变量,仅能在函数内部访问
(1) $GLOBALS
1 | <?php |
(2)global 关键字
1 | <?php |
超级全局变量
$GLOBALS
是PHP的一个包含所有全局变量的数组,可以在任意位置使用$_SERVER
是一个包含了头信息(header)、路径(path)等信息的数组$_POST / $_GET
被广泛应用于收集表单数据,常用于ajax请求等操作$_COOKIE
用于收集前端发送过来的cookie数据$_REQUEST
变量包含了$_GET、$_POST 和 $_COOKIE
的内容$_SESSION
服务器版cookie$_FILES
常量
- 规范
- 命名规则与变量一致,但常量名不需要加 $ 修饰符。
- 常量值被定义后,在脚本的其他任何地方都不能被改变。
- 默认是全局作用域,可以在整个运行的脚本的任何地方使用。
- 常量名建议全部大写
- 格式:
define(name常量名称,value常量值)
1 | define("EN_NAME", "laoxie"); // const MY_NAME = "lemon"; |
4.运算符及语句(等同于js)
算术运算符、赋值运算符、递增/递减运算符、比较运算符(等于大于...)、逻辑运算符(与或非)、三元运算符
条件语句、循环语句
5.数据类型
$$
String(字符串)
Integer(整型)
Float(浮点型)
Boolean(布尔型)
Array(数组)
Object(对象)
NULL(空值)
$$
String
strlen() 获取字符串长度,得到的字符的字节数
mb_strlen() 获取字符串长度,
strpos() 查找某个字符在字符串中的索引,如果未找到匹配,则返回 false
1
strpos("Hello world!","world");//=>6
Array
数组是一个能在单个变量中存储多个值的特殊变量。
(1)创建数组:array()
1 | //1.数值数组,等同于js的数组 |
(2)数组常用方法
- count() 获取数组长度
- in_array() 判断某个值是否存在数组中
- array_slice() 从数组中取出一段
- array_rand() 随机获取数组的索引值
练习案例:在php文件里生成动态商品页面
(3)遍历数组
for 一般用于遍历数值数组
foreach() 一般用于遍历关联数组,或者对象
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21<?php
//遍历数值数组:for循环
$cars=array("Volvo","BMW","Toyota");
$arrlength=count($cars);
for($x=0;$x<$arrlength;$x++){
echo $cars[$x] . "<br>";
}
//关联数组:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
//获取单个值
echo $age['peter'];
//遍历关联数组:foreach..as
foreach($age as $key=>$value){
echo $key .":". $value;
echo "<br>";
}
//多维数组:
foreach($age as $item){
//item代表数组里面的关联数组
}
?>
数组排序
- sort() 对数组进行升序排列
- rsort() 对数组进行降序排列
- asort() 根据关联数组的值,对数组进行升序排列
- ksort() 根据关联数组的键,对数组进行升序排列
- arsort() 根据关联数组的值,对数组进行降序排列
- krsort() 根据关联数组的键,对数组进行降序排列