PHPday04

PHP数组
$nbsp:空格
索引数组:key值默认
array(2,2,2,2,1)
遍历:echo $XXX[n]、常规for循环

关联数组:自己定义key值
array(“name” => content,“name” => content,“name” =>content)
遍历:
1、foreach($XXX as $key => $value)
{
echo $key."—".$value.;
*key值对应name、value值对应content
}
2、while($row = each($XXX))
{
list ($k,$v) = $row;
echo $k."……".$v.;
}

打印数组:print_r($XXX)、var_dump($XXX)
数组元素个数:echo count($XXX)
数组元素增加:$XXX[位置] = “ff”
删除:unset($XXX[索引值])
改:$XXX[索引值] = “cute”
查:可通过遍历和key值

数组函数
array_key_exists(“key值”,$XXX)【检查key值或索引是否存在】
in_array(“value值”,$XXX)【j检查元素是否在数组里】
array_keys($XXX)【key值对返回成索引数组】
列举一些【用手册查找测试】
array_change_key_case();
array_count_values();
array_fill();
array_filter();
array_values();
array_keys();
array_push();
array_pop();
array_shift();
array_unshift();
Sort(),rsort(),Usort(),asort();
ksort(),natsort(),natcasesort();
array_merge();
array_merge_recursive();
array_diff();
array_diff_assoc();
array_intersect_assoc();
array_flip();
array_unique();
array_reverse();
array_sum();
shuffle();
range();
array_rand();

PHP函数与超全局变量
function 函数名a(接收参数,可无参)
{
代码语句
}
调用: 函数名()
超全局变量:$GLOBALS:超全局数组,是二维数组
全局变量:可用$GLOBALS[“GLOBALS”][“X”]输出
$_SERVER:输出服务器信息和客户端信息
echo $_SERVER[“REMOTE_ADDR”]:输出远程的IP地址
echo $_SERVER[“HTTP_USER_AGENT”]:输出用户浏览器信息
$_GET:通过浏览器进行传参【表单或浏览器里常用】
$_POST:插件应用
$_REQUEST 是 $_GET 与 $_POST的结合
个人理解起来好难呀

<?php 
  function getAdd($a,$b)
  {
  	return $a + $b;
  }
  if(empty($_GET))
  {
  	echo "no get<br/>";
  }
  else
  {
  	$x = $_GET["a"];
  	$y = $_GET["b"];
  	$c = getAdd($x,$y);
  	echo $c;
  }

常量 :define(“常量名 一般大写”,value)
可用var_dump(defined(“name”))检验是否赋值
全局变量:在文件里,没有任何包含
局部变量:对于函数而言,在函数代码块里
【全局变量和局部变量可重名,两者是不影响的。可用传地址符“&”来联系全局变量和局部变量 】
global关键字 : 可以实现在函数中用全局变量

会话技术
$_COOKIE:保存在浏览器端的一个数据
setcookie(“name”,“value”,time()+YYY[过期时间设置])
setcookie:第一次设置cookie 当前页面无法取出
Cookie Editor插件:改变cookie值来欺骗浏览器
cookie 访问计数器:写一个例子计算当前页面的访问次数

<?php 
       $num = 0;
       if(empty($_COOKIE["nino"]))
       {
       	setcookie("nino",1);
       	echo "1";
       }
       else
       {
       	$num = $_COOKIE["nino"];
       	$num++;
       	setcookie("nino",$num);
       	echo $num;
       }

$_SESSION:保存在服务器server端,依靠cookie才能实现读取
session_start():必用函数
$_SESSION[“user”] = “admin”
session 清空:
1、session_destroy():清空当前的
2、$_SESSION = array():设置为空数组
登录测试例子

//t5
<!DOCTYPE html>
<html>
<head>
    <meta charset ="utf-8">
	<title>session登录测试</title>
</head>
<body>
<form  action="t6.php"  method="post">
     用户名:<input type="text" name="sname"/><br/>
     密码:<input type="password" name="spass"/><br/>
     <input type ="submit"  value="登录"/>
<form/>
</body>
</html>
//t6
<?php 
   header("Content-type:text/html;charset=utf-8");
   session_start();
   if(empty($_POST))
   {
      echo"无法登陆<br/>";
      echo"<a href=' t5.php '>请登录</a>";
   }
   else
   {
       $name = $_POST["sname"];
       $pass = $_POST["spass"]
       if($name == "feng" && $pass == "920")
        {
        	$_SESSION["name"] = "feng";
        	header("Location:t7.php");//跳转
        }
        else
        {
        	echo "用户名或者密码错误<br/>";
        	echo "<a href=' t5.php '>请登录</a>";
        }
    }
//t7
<?php 
      header("Content-type:text/html;charset=utf-8");
      session_start();
      if(empty($_SESSION))
      {
      	echo "无权登陆<br/>";
      	echo "<a href = 't5.php'>请登录</a>";
      }
      else
      {
      	$name = $_SESSION["name"];
      	echo "欢迎".$name." 登录系统";
      }

文件管理
关键字
require:require"文件名"【文件不存在时报错不执行】
include:include"文件名"【报错但要执行】
require_once【只执行文件中的一次】
include_once【只执行文件中的一次】

文件上传
使用包含文件上传必须带上enctype = "multipart/form-data"写在表单里
上传图片可得到:
array (size=1)
‘pic’ =>
array (size=5)
‘name’ => string ‘20200322220203.png’ (length=18)
‘type’ => string ‘image/png’ (length=9)
‘tmp_name’ => string ‘D:\ctf\WAMP\wamp\tmp\php7B2C.tmp’ (length=32)
‘error’ => int 0
‘size’ => int 35209

文件上传函数:move_uploaded_file
创建文件的函数:
is_dir:检查是否是目录
mkdir():创建目录
_DIR_:输出当前的绝对路径
dirname(_DIR_):输出上层路径
realpath("…"):一点代表当前目录,二点代表上级目录,…/…/上上级目录
opendir:打开目录
readdir:读出目录
closedir:关闭目录
unlink(“文件名”):删除文件
file_get_contents():从文件中读取内容
file_put_contents():从文件中写入内容
文件实例在第二次作业

文件管理系统:递归思想读出代码文档

<?php 
 header("Content-type:text/html;charset=utf-8");
 function sDir($a,$b = 0)
 {
 	$c = opendir($a);
 	while($d = readdir($c))
 	{
 		//如果目录为.和..就跳过
 		if(($d == '.') || ($d == '..'))
 		{
 			continue;
 		}
 		echo str_repeat("&nbsp;&nbsp;",$b),$d,'<br/>';
 		//如果目录里还有目录,继续往下读取目录
 		if(is_dir($a.'/'.$d))
 		{
 			sdir($a.'/'.$d,$b+1);
 		}
 	}
 	closedir($c);
 }
 sDir('..');

----------------------------------------------------------------------------------next还有next

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值