PHP基本知识(自定义函数以及文件上传)
知识点; 一、自定义函数 二、文件的上传 下载 一、自定义函数 函数: 返回类型 函数名称(参数类型 $val,参数类型 $val,参数类型 $val...) 系统函数; math string date array string trim($str) substr strpos str_replace ...... 返回 文件名 的扩展名函数
知识点;
一、自定义函数
二、文件的上传 下载
一、自定义函数
函数:
返回值类型 函数名称(参数类型 $val,参数类型 $val,参数类型 $val...)
系统函数;
math
string
date
array
string
trim($str)
substr
strpos
str_replace
......
返回 文件名 的扩展名函数
$f1 = "mysql.class.php";
//$extName = end(explode(".",$f1));
$en = gt($f1);
$f2 = "index.php";
//$extName2 = end(explode(".",$f2));
$en2 = gt($f2);
函数:反复使用。便于管理,高效,快捷,代码整齐。
1 .自定义函数:
用户自己定义的函数。
1》基础自定义函数:
function 函数名称(){
函数体。
}
函数写到页面的时候,不会立即执行,
函数只在调用函数的时候执行。
调用:函数名称();
返回值类型 函数名称(参数类型....)
void adds(void)
//练习:
函数:从1 + -----10
addTen()
2》有参数 没有返回值。
function 函数名称(参数类型 参数1,参数类型 参数2,....){
函数体;
}
调用的时候 赋值
// 任意文件名称,打印扩展.
注意:
函数中,什么内容是可变化(任意),内容被设置为参数。
应用:参数可以给默认值。
默认:如果传递参数,函数作用将会使用传递参数来工作。
如果没有参数,函数将会使用默认值工作。
参数默认值要求。
字符串 默认 空值
整数: 0
boolean true
3》 有参数 有返回值。
function 函数名称(参数类型 $val,.....){
函数体;
return 返回值; //把函数工作的结果 传递给外边。
}
返回值:是在函数调用的时候,
函数执行的结果,结果可以再外边使用。
函数练习:
注意:所有的代码 都可以封装成 函数。
包括 html css div php
数组:数组可以作为参数也可以作为返回值。
判断文件大小: 判断值大小的函数. 2000
思考题:以下代码 结果为什么 还是 123;
$test = 123;
function changeNum(){
$test = 456;
}
changeNum();
echo $test;
递归函数:循环 函数内部调用自己。自己调用自己。
必须要有一个结束条件。
1 +++ 5
$sum = 0;
for($i=0;$i
$sum = $sum + $i;
}
起始条件
终止条件
循环体
歩长
$sum = 0;
for($i=5;$i>=0;$i--){
$sum = $sum + $i;
}
//1+++5 5+4+3+2+1+0 终止条件
function sum($n){ //$n = 5
if($n==1){
return 1;
}else{
return $n + sum($n-1)
}
}
return 5+ 10
return 4 + 6
return 3 + 3
return 3
return 1
函数:一段代码多处用到。
函数函数库:
func_get_arg();
作用:返回对应位置的参数值。位置从0开始。
格式:mixed func_get_arg ( int $arg_num )
func_get_args();
作用:返回参数构成的数组,索引数组
格式:array func_get_args ( void )
func_num_args();
作用:返回参数个数。
格式:int func_num_args ( void )
function_exists()
作用:判断函数是否存在,存在true 不存在false
格式:bool function_exists ( string $function_name )
二、文件的上传 下载
1》上传:图片,附件上传。
表单:
action="" 指定 提交数据 的处理页面路径
method="get|post"
index ---》 indexDo
get ---> url 2k 路径传值 form method=“get”
post---> http post 默认8M form method=“post”
aaaa
id 会随着点击 aaaa超链接 一起传递到 indexDo
路径传值方式 一定是get
get post*******
传递的值的大小
get url 传值 在url 显示,安全性低
post 安全性高一些。
form
index---->method = post--->indexDo
接收数据:
$_POST["控件的name属性"]
index---->method = get--->indexDo
$_GET["控件的name属性"]
a
indexDo.php?id=456
$_GET["id"]
2》文件上传:
1.enctype="multipart/form-data"
encodetype 编码
method="post"
图片上传控件 type="file" $_FILES["控件名称"]
Array
(
[name] => 1.jpg
[type] => image/pjpeg
[tmp_name] => C:\WINDOWS\Temp\php80F.tmp
[error] => 0
[size] => 9825字节
1k = 1000字节 1M = 1000k 1m = 2000000
)
move_uploaded_file(临时位置,指定路径)
exit; 终止后边的程序执行。
3》图片上传的步骤:
1 判断图片的格式 扩展名
2 判断图片的大小 $userImg["size"] 字节为单位。
3 文件重命名 执行上传。
4》关于文件上传的其他知识
Array
(
[name] => 1.jpg 文件名称
[type] => image/pjpeg mime类型
[tmp_name] => C:\WINDOWS\Temp\php80F.tmp 临时位置。
[error] => 0 文件错误信息
[size] => 9825字节 文件大小
1k = 1000字节 1M = 1000k 1m = 2000000
)
[error] => 0 文件错误信息
0 文件上传成功
1 文件上传 upload_max_filesize = 2M 文件上传最大的传递数据量
post_max_size = 8M
2 了解
3 上传中出现了网络问题,文件没有传递完毕。
4 上传文件没有选择。
is_uploaded_file method = "post"
index --->indexDo
is_uploaded_file 检测数据过来是否是http post
5》文件下载
1 超链接可以做,只能做浏览器不是被的文件 doc exe rar
浏览器可以识别:直接打开。
2 通用的下载方式:
//设置文件档 有下载 这部分的应用
header("Content-type:application/x-msdownload");
//弹出下载对话框
header("Content-Disposition:attachment;filename=demo.jpg");
//下载
readfile('1.jpg');
谢谢关注websites博客!