PHP
在编译php代码时要使用Phpstudy放到网站根目录打开以免环境不适配
PHP语言可以混合HTML标记
PHP语言属于后端代码,在浏览器只能看到前端代码,PHP是看不完全的,在服务器才能看到后端代码
在PHP代码报错时,服务器会生成错误日志,在/var/log/httpd中有两个文件比较重要,分别是access_log和error_log,error_log就是生成的错误日志,访问日志记录在"access.log"文件中,
log文件就是日志文件
PHP用$定义变量名,JS用var定义
echo其实是个函数,可以打括号
‘’和“”有区别
string为字符型,相当于c语言的char,和bool\float\int等差不多,var_dump可以显示数据类型。
“.”可以拼接两个字符串,2
递增递减只能用于变量
$x=1
Ehco ++$x 输出2,先加一再输出
Ehco $x++ 输出1,先输出再加一
三元运算符是一个类似if,else的判断符,条件?如果真则执行:如果假则执行
注意在PHP中变量都带着$使用
JS可以在三元运算符中写语句,PHP不行
在 PHP 中,array() 函数用于创建数组
count() 函数用于返回数组的长度(元素的数量)
js查看数组长度为document.write(数组名.length);
PHP查看数组长度是echo sizeof($数组名);
或者是echo count($数组名);
遍历数组
关联数组也就是自己给数组的值附上索引号而不用默认的索引
其实JS的对象也可以认为是数组
打错了,年龄是key,姓名是值,foreach,将数组的值和键遍历也可以将value换成b,反正是按顺序
数组里存放着数组,也就是二维数组
数组的数组存放着数组,也就是多维数组
Print_r();可以把整个数组输出出来
JS数组添加值用arr.push(); ,PHP添加值用array_push();
PHP 函数使用方法和JS一样
默认参数,就是对一个参数传入默认的值,后面调用时传参就使用新的值,不传参就使用默认值
函数内部的参数是局部变量,在函数内部要使用函数外部的参数时要加globle, 来证明在函数内部使用的该参数也是全局变量,不然会报错,系统会认为函数内部的参数和函数外部的参数不一样,虽然名字一样。
系统会给没有赋值的参数默认为NULL(空)
原理:全局变量会存放在内存里直到整个程序结束,而局部变量在函数运行完之后就会被内存释放
类的使用除了变量定义方式不同其他几乎和JS类似
了解:
PHP传参方法及文件处理
$_GET[“”]可视为一个数组
Name=”uname”收到的name值传到$_GET[“uname”]里,相当于关联数组根据键向数组里传值,uname就是键,指定传值,但是和数组的键不一样的是,数组的键是一个数组里区分不同元素的数据,而此处的键是区分不同接收参数位置的数据
$GET是PHP自带的全局数组
PHP代码里不能含有HTML代码,但是PHP的echo函数的输出内容是在客户机的浏览器解析,所以echo等函数可以解析html代码
Window.history.back(-1);返回上一步,属于JS代码
HTML的表单里写GET方式,但是PHP以POST方法接收值,他们的KEY一样,能接收到值吗?
不能,机制不一样,最简单的来说:get通过地址栏传输,post通过报文传输;选择什么方式上传数据,就要对应选择什么方式接收数据
如果使用get方式上传数据,php中可以使用_REQUEST方式接收,REQUEST是可以接受get、post、cookie的
了解:
PHP文件写入有一套完整的过程,要先用fopen()打开文件
再fread()或者fgets()等,最后要fclose关闭文件,而且这些都是函数
如图:
Fgets()是获取一行的内容,但是第二次对同一对象使用却获取了两行的值
fgets遵循指针的原则,读取文件时会从第一个开始读直到读到换行,只要不读到换行在人眼看来是3,4行也认为是第一行。读完了一行之后指针1会停在读完的地方,也就是换行的地方。第二次读的时候就从上一次换行的地方读起
比如标黑的地方就是第一行
Or die表示直接退出,不执行后面的语句换为执行’cannot open file:’.$file
相当于if else的文件打开版
在写文件之前要执行setenforce 0关闭SE模式
使用此函数无需进行fopen()和fclose()就能读取到文件的全部内容
file_put_contents默认的是重新写文件,会替换原先的值。当设置参数值为 FILE_APPEND 时,表示在已有文件内容后面追加内容的方式写入新数据。
实践制作留言板:
<textarea></textarea>是文本框,cols是长度,rows是宽度
PHP 中换行可以用 PHP_EOL 来替代,以提高代码的源代码级可移植性:
这两步制作的留言板有个问题,就是留言之后才能看到其他人的留言信息把表单的action=”action.php”的提交地址改为空,也就是action=””,意为提交地址就是本地址