PHP/NO.3
文件上传
enctype="multipart/form-data"//表单from属性
PHP 超全局变量
名称 | 用途 |
---|
$_GET | 接受GET方式提交的值 |
$_POST | 接受POST方式提交的值 |
$_FILES | 接收文件 |
$_REQUEST | 请求包括GET和POST |
$_COOKIE | JS内置 |
$_SESSION | ... |
多文件上传
multiple="multiple"//input 属性!
PHP移动文件函数
move_uploaded_file($upfile["tmp_name"][0],"./svip/".$suijishu);//让图片以新名字存储到svip目录中
PHP转小写函数
$extName=strtolower($extName)//转小写
判断变量是否在数组中的函数
in_array("jpg",$arr)//判断jpg是否在数组array中返回布尔值
创建目录函数
mkdir("./upload")//新建一个upload的文件目录
file_exists("./upload")//判断是否存在叫upload的目录 返回值为布尔值
接受多文件demo
html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form action="reg.php" method="post" enctype="multipart/form-data" m>
上传图片,支持jpg,png:<input type="file" name="upfile[]" multiple="multiple"/><br>
<input type="submit" value="确定"/>
</form>
</body>
</html>
PHP
<?php
header("content-type:text/html;charset=utf-8");
// php 引擎 --》html
// 移动临时文件到服务器
//move_uploaded_file($_FILES["upfiles"]["tmp_name"][0], "./".$_FILES["upfiles"]["name"][0]);
// 存 允许上传 文件类型
$extArr = [".jpg",".png",".gif"];
$maxSize = 200*1024;
//1. 判断 有没有选择文件
if($_FILES["upfiles"]["error"][0] !=4){
// 至少选择一个文件
foreach($_FILES["upfiles"]["error"] as $k=> $v){
//echo $v."<br>";
if($v == 0){
//1.限制类型 截取扩展名
$index = strrpos($_FILES["upfiles"]["name"][$k] , ".");
$extName = substr($_FILES["upfiles"]["name"][$k], $index); //.jpg xxx.PNG
$extName = strtolower($extName);
if(in_array($extName, $extArr)){
// 类型 合法
// 判断大小
if($_FILES["upfiles"]["size"][$k] >$maxSize){
echo "<span style='color:red'>".$_FILES["upfiles"]["name"][$k]."过大!</span><br>";
}else{
// 重命名
$newFileName = time().mt_rand(10000, 99999).$extName;
// 移动文件执行上传
$path = "./upload/";
if(!file_exists($path)){
//新建文件
mkdir($path);
}
$re= move_uploaded_file($_FILES["upfiles"]["tmp_name"][$k], $path.$newFileName);
if($re){
echo "<span style='color:green'>".$_FILES["upfiles"]["name"][$k]."上传成功!</span><br>";
}else{
echo "<span style='color:red'>".$_FILES["upfiles"]["name"][$k]."上传失败!</span><br>";
}
}
}else{
echo "<span style='color:red'>".$_FILES["upfiles"]["name"][$k]."类型不合法!</span><br>";
}
//in_array($needle, $haystack)
// 正常
// 限制 格式 、大小 重命名
}else{
echo "<span style='color:red'>".$_FILES["upfiles"]["name"][$k]."有异常!</span><br>";
}
}
}else{
// 没选择文件
header("location:uplooads.html");
}
字符串处理
substr() 字符串截取
strpos() 匹配第一次出现的字符
strrpos() 匹配最后一次出现的字符
strlen() 字符串长度
str_replace() 字符串截取 全部匹配
str_replace("a","xxx",$arr)将匹配的值替换为某内容,对象是某变量
str_ireplace("a","xxx",$arr)不区分大小写
$str[] 取出字符串里的某个字符
$str{} 取出字符串里的某个字符、
$exlode(定义符,变量) 分割变量 以定义符拆分
打乱数组函数
str_shuffle($arr)//打乱数组
自定义函数
- 一次封装多次调用;
- 减少代码重复率,提高代码复用性。
function xx($filName){
global $b;//转化为全局变量
}
全局变量在函数内部不能用!!!!
递归
函数内部调用自身。死循环!