PHP学习

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"');
?>

文件上传

可变变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值