PHP基础
安装地址
http://www.wampserver.com
安装wamp之后出现的问题参考https://jingyan.baidu.com/article/48b37f8d0a02811a6564887b.html
数据库更改密码
方法一:
控制台输入
show databases;查看数据库
use mysql; 选择mysql数据库
show tables; 查看有那些表
update user set authentication_string = password('root'), password_expired = 'N', password_last_changed = now() where user = 'root';
方法二:
找到数据库的配置文件
手动添加user和password
网站域名之间的配置
单网站域名配置
1、找到路径\wamp64\bin\apache\apache2.4.23\conf\extra中httpd-vhosts.conf文件
复制文件中的
<VirtualHost *:80>
ServerName localhost
DocumentRoot D:/wamp64/www
<Directory "D:/wamp64/www/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>代码,粘贴到<VirtualHost *:80>标签下,更改ServerName +你设置的域名
2、找到C:\Windows\System32\drivers\etc中的hosts文件打开之后有一个
将127.0.0.1 localhost前面的‘#’去掉,复制127.0.0.1 localhost到下面将localhost改成自己的域名即可
多网站多域名多站点配置
1、在httpd-vhosts.conf文件中继续添加<VirtualHost *:80>标签更改ServerName
并且在hosts文件中继续添加127.0.0.1 +域名
2、在www中添加站点名和网页
3、重启wamp
多端口
找到安装路径\wamp64\bin\apache\apache2.4.23\conf中的httpd.conf文件打开找到
在下面继续添加listen配置端口
基础语法
标识
js使用时需要将代码写在<script></script>标签中,php语言要写在<?php ?>中,其中结尾的 ?>是可以省略的;在结束时一定要加上“;”分号。
输出语句echo
<?php echo "Hello world!";?>
运算
<?php echo 1*3;?>
字符串
在PHP中字符串的表示用单引号或者双引号都是可以的;'.'是连接符,将两个字符串拼接起来
例如:<?php echo 'Hello'.' '.'world!';?>
注释
PHP中用"//"表示单行注释
使用/*和*/表示多行注释
变量
用来存储,用"$"符号声明
所有的变量都是以$符号开始的
变量命名规则
- 变量名必须以字母或下划线 "_" 开头。
- 变量名只能包含字母数字字符以及下划线。
- 变量名不能包含空格。如果变量名由多个单词组成,那么应该使用下划线进行分隔(比如 $my_string),或者以大写字母开头(比如 $myString)。
- 可以由字母【a-zA-Z】,数字【0-9】,_三者组成,且不能用数字开头
字符串
并置运算符 (.) 用于把两个字符串值连接起来。
strlen() 函数用于计算字符串的长度。
strpos() 函数用于在字符串内检索一段字符串或一个字符。
数组
有三种数组类型:
- 数值数组
- 带有数字 ID 键的数组
- 关联数组
- 数组中的每个 ID 键关联一个值
- 多维数组
包含一个或多个数组的数组
数值数组
数值数组存储的每个元素都带有一个数字 ID 键。
可以使用不同的方法来创建数值数组:
关联数组
关联数组,它的每个 ID 键都关联一个值。
在存储有关具体命名的值的数据时,使用数值数组不是最好的做法。
通过关联数组,我们可以把值作为键,并向它们赋值。
多维数组
在多维数组中,主数组中的每个元素也是一个数组。在子数组中的每个元素也可以是数组,以此类推。
三种控制结构
顺序结构(程序运行顺序从上往下)
分支结构(if else switch)
循环结构(for循环)
循环
在编写代码时,经常需要让相同的代码块运行很多次。您可以在代码中使用循环语句来完成这个任务。
在 PHP 中,我们可以使用下列循环语句:
- while
- 只要指定的条件成立,则循环执行代码块
- do...while
- 首先执行一次代码块,然后在指定的条件成立时重复这个循环
- for
- 循环执行代码块指定的次数
- foreach
- 根据数组中每个元素来循环代码块
函数
创建 PHP 函数:
- 所有的函数都使用关键词 "function()" 来开始
- 命名函数 - 函数的名称应该提示出它的功能。函数名称以字母或下划线开头。
- 添加 "{" - 开口的花括号之后的部分是函数的代码。
- 插入函数代码
- 添加一个 "}" - 函数通过关闭花括号来结束。
函数返回值
$_GET$_POST
$_GET/$_POST变量用于收集来自 method="get/post" 的表单中的值。
$_GET 变量
$_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。
$_GET 变量用于收集来自 method="get" 的表单中的值。从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符)。
$_POST 变量
$_POST 变量是一个数组,内容是由 HTTP POST 方法发送的变量名称和值。
$_POST 变量用于收集来自 method="post" 的表单中的值。从带有 POST 方法的表单发送的信息,对任何人都是不可见的(会显示在浏览器的地址栏),并且对发送信息的量也没有限制。
php打开文件
$fh资源类型变量
$fh=fopen('./msg.txt','a');//打开文件
//往文件里写
fwrite($fh,'from php into txt');
//关闭连接
fclose($fh);
echo 'ok';
留言本发布功能
//开始留言
$str = $_POST['title'] . "," . $_POST['content'] . "\n";
$fh = fopen('./msg.txt','a');
fwrite($fh,$str);
fclose($fh);
echo 'Ok';
留言本读取
只读
$tid = $_GET['tid'];
//打开得到文件
$fh = fopen('./msg.txt','r');
//print_r(fgetcsv($fh));只读一行
while( fgetcsv($fh) != false)