VSTART桌面管理工具,以后可以用以下
WXExplorer(抓包工具?)
要访问的网站–>HOST(如果没有对应解析IP)–>DNS服务器
安装 Apache、mysql、
了解服务器域名配置及DNS解析域名的详细流程。
<?php
这里是PHP代码
?>
php变量规则:
- 以$符号开头,后面是变量的名称
- 变量名必须以字母或下划线开头
- 变量名智能包含字母、数字和下划线
- 变量名对大小写敏感
php变量引用:不同变量名指向同一个地址
$a=1;
$b = &$a;
输出信息:
- echo
- print_r
- var_dump
数据类型
字符串:注意单引号和双引号的区别,单引号括起来的变量会输出变量名,双引号括起来的变量会输出变量的值
字符串函数
- strlen()函数返回字符串的长度,以字符计
- strpos()函数用于检索字符串内指定的字符或文本
- stroupper()函数用于转换字母大小写
相等“==”和全等“===”:
相等可以是不同的数据类型,全等必须是相同的数据类型且两个值相等。
不相等“!=” 不相等“<>”
拼接:
$a="123";
echo $a.'456'
输出:123456,$a="123"变成$a=123输出的值不变
函数:
<?php
fuction a(){
phpinfo();
}
?>
函数对大小写不敏感
PHP中的全局变量global和$GLOBALS的区别?
1.global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。但是在函数体内定义的global变量,函数体内可以使用,在函数体外定义的global变量不能在函数体内使用。
2.在$GLOBALS数组中,每一个变量为一个元素,键名对应变量名,值对应变量的内容。$GLOBALS之所以在全局范围内存在,是因为$GLOBALS是一个超全局变量。注意$GLOBALS的写法,比如变量$a1,写法为$GLOBALS[‘a1’]。
数组
<?php
$arr = array('zhangsan','21','网络安全','睡觉','吃饭'); //写法一
$arr1[]='zhangsan';
$arr1[]='21';
$arr1[]='网络安全';
$arr1[]=‘睡觉’;
$arr1[]='吃饭' //写法二
// echo $arr1[0];
var_dump($arr); //这个可以顺带输出字节
echo "<hr />"; //hr 表示横线
print_r($arr);
?>
索引数组 //键名是从0开始
关联数组 //eg $arr = array(“mingzi”=>‘zhangsan’,“nianling”=>‘21’); 利用关联可以修改值,eg. $arr[‘mignzi’] =‘lisi’
eg.遍历索引数组
<?php
$arr = array("zhangsan","21","IT","kanshu")
for ($i=0;$i<count($arr);$i++)
{
echo $arr[$i]."<hr />"
}
?>
eg.遍历关联数组
<?php
\$arr = array("mingzi"=>'zhangsan','nianling'=>'21','zhiye'=>'网络安全','aihao'=>'睡觉,吃饭');
foreach ($arr as $key => $value) //也可以只取键或值
{
echo '键名:' .$key . "值:" .$value . "<br />" ;
}
?>
输出:
键名:mingzi 值:zhangsan
键名:nianling 值:21
键名:zhiye 值:网络安全
键名:aihao 值:睡觉,吃饭
each没有循环的指针
list
二维数组
什么是时间戳?
时间戳是自1970年1月1日(00:00:00 GMT)以来的秒数。它也被称为Unix时间戳(Unix Timestamp)。
Unix时间戳或称Unix时间,POSIX时间,是一种时间表示方式,定义为从柏林威治时间1970年01月01日00时00分00秒起至现在的总秒数。Unix时间戳不仅被使用在Unix系统、类Unix系统,也在其他操作系统中被广泛使用。
time() //获取当前时间戳
date //时间戳转换日期时间
时间戳转换日期时间
Y:年(四位数)大写
m:月(两位数,首位不足补0)小写
d:日(两位数,首位不足补0)小写
H:小时带有首位零的24小时格式
h:小时带有首位零的12小时格式
i:带有首位零的分钟
s:带有首位零的秒(00-59)
a:小写的午前和午后(am或pm)
eg.
var_dump(date(‘Y-m-d H:i:s’,1502204401));
<?php
$shijian = time();
echo time();
exit; //禁止走下面的代码
echo Date('Y-m-d H:i:s');
?>
文件操作
打开或创建文件
fopen()的第一个参数包含被打开的文件名,第二个参数规定打开文件的模式。
$myfile=fopen(“webdictionary.txt”,“r”)or die(“Unable to open file”);
说明:r表示打开文件为只读,文件指针在文件的开头开始
w表示打开文件为只写。删除文件的内容或创建一个新的文件,如果它不存在,文件指针在文件的开头开始。
a表示打开文件为只写,文件中的现有数据会被保留。文件指针在文件结尾开始。创建新的文件,如果文件不存在。
x表示创建新文件为只写。返回FALSE和错误,如果文件已存在。
r+表示打开文件为读/写、文件指针在文件开头开始
w+表示打开文件为读/写、删除文件内容或创建新的文件,如果它不存在。文件指针在文件开头开始。
a+表示打开文件为读/写,文件中已有的数据会被保留。文件指针在文件结尾开始。创建新文件,如果它不存在。
x+表示创建新文件为读/写。返回FALSE和错误,如果文件已存在。
读文件
Fgets($find) //读第一行文件
Fread($find,获取字节) //指定获取内容
Filesize($find) //获取文件字节
Fclose($find) //关闭资源
<?php
$f = fopen("./1.txt","a+");
echo Fgets($f);
echo Fread($f,4); //获取文本4个字节
echo Fread($f,Filesize('./1.txt')); //输出文件中的所有内容
Fclose(\$f)
?>
修改或添加文件内容
- Fopen(./1.xx,“a+”);
- Fwrite(‘文件’,‘内容’);
- Fclose(find); //关闭资源
<?php
$f=fopen("./1.txt","w");
Fwrite($f,'123456\r\n')
?>
<?php
echo $_SERVER['SCRIPT_FILENAME']; //输出绝对路径
?>
也可利用type读取文件
<?php
echo 'type d:\\1.txt';
?>
Http定义了与服务器交互的不同方法,其中最基本的四种:GET,POST,PUT,DELETE,HEAD,其中GET和HEAD被称为安全方法,因为使用GET和HEAD的HTTP请求不会产生什么动作。不会产生动作意味着GET和HEAD的HTTP请求不会在服务器上产生任何结果。但是安全方法并不是什么动作都不产生,这里的安全方法仅仅指不会修改信息。
根据HTTP规范,POST可能会修改服务器上的资源请求。比如csdn的博客,用户提交一篇文章或者一个读者提交评论是通过POST请求来实现的,因为再提交文章或者评论提交后的资源(即某个页面)不同了,或者说资源被修改了,这些便是“不安全方法”。
服务器接收URL从NAME传来的数据
<?php
var_dump($_GET['NAME']);
?>
服务器利用php写入文件
<?php
$a=$_GET['mumu']; //浏览器端提交的域名是:mumu.cn/?mumu=qq
$l=fopen("./22.txt","w+")
fwrite($l,$a);
fclose($l);
?>
<?php
//empty //没有值为真,有值为假
//isset //有值为真,没有值为假
if(isset($_GET['name']))
{
echo $_get['name'];
} //这样写麻烦,见下面利用三元运算符
$a = empty($_GET['name'])?'1':$_GET['name'];
echo $a;
?>
mysqld是用来开启和关闭mysql
mysqladmin 日常管理命令及重置密码
mysql用来操作数据库
mysqlimport 用来导入
mysqlcheck
登录mysql
mysql -h 192.168.1.100 -u root -p -P 3306
-h ip
-u 用户名
-p 密码
-P 端口号
创建数据库
creat database 数据库名
选择数据库
creat table admin(username varchar(20)) not null,passworld text not null);
查看表结构 desc 表名
文件包含
<?php
include ' ./1.txt'; //可以被包含多次
include_once ' ./1.txt'; //判断1.txt是否已经被包含了,如果已经包含了这段代码就不起作用了
?>
PHP+HTML
其实说白了就是写好了HTML款入到PHP里。
PHP操作mysql
<?php
$lin = mysql_connect('127.0.0.1','root','123456');
var_dump($lin); //可以判断是否登录成功
$mysql_q=mysql_query("use demo");
var_dump($mysql_q); //操作成功会输出 bool(true)
mysql_query("set names utf8");
//mysql_query("insert into admin value ("zhangsan","123")") //添加数据
//mysql_query("delete from admin where username ='zhangsan'"); //删除数据
//mysql_query("update admin set username ='lisi'"); //添加数据
$list =mysql_query("select * from admin"); //查询数据
$list_data=mysql_fetch_array($list); //只能取一行,取所有应该加循环,见下面代码
var_dump($list_data)
//输出所有
$arr=array();
while ($list_data2=mysql_fetch_arrasy($list,MYSQL_NUM))
{
var_dump($list_data2);
echo "<hr />";
}
/*
mysql_errno():出现错误的错误编号
mysql_error():错误信息
*/
?>
mysql_data_seek() 用来设置结果集指针的位置
mysql_num_rows() 取得结果集的长度(记录的个数)
面向对象
session
<?php
echo "hello word"
session_start(); //session默认是关闭的
$_SESSION[‘demo’]='123';
?>
请求网站,如果cookie没有PHPSESSID,那服务器就给你定义一个PHPSESSID。如果请求网站有PHPSESSID,服务器看到了PHPSESSID之后获取PHPSESSID的内容去找sessionID的内容名字的文件名。
<?php
setcookie('name','liming','time()+100,'/',"127.0.0.1"');
?>
文件上传
可变变量