您的位置:首页 > 其它

六 、常量、文件上传

2016-04-14 22:43 232 查看
一 常量:固定不变的量
1 系统常量:
//PHP_OS    PHP操作系统
echo PHP_OS;

//PHP_VERSION    PHP版本
echo PHP_VERSION;

//PHP_SAPI    PHP运行方式
echo PHP_SAPI;


2 自定义常量
格式:define("常量名称","常量的值");常量名称 全大写
define("USERNAME","张三");
echo USERNAME;//返回张三


3 魔术常量
//__FILE__    绝对路径
echo __FILE__;

//__LINE__     返回代码当前行号
echo __LINE__;

//__FUNCTION__     当前函数名
echo __FUNCTION__;

//__CLASS__      当前的类名
echo __CLASS__;

//__METHOD__     当前方法名称
echo __METHOD__;


二 文件上传:
html代码
<form action="up.php" method="post" enctype="multipart/form-data">
用户名:<input type="text" name="uName"><br/>
头像:<input type="file" name="uImg"><br/>
<input type="submit" value="提交"/>
</form>

<!--enctype="multipart/form-data"表示文件上传类型-->

php代码(up.php)
<?php
/*
* 1.获取用户名和上传文件的类型
* 2.获取上传文件的类型
* 3.检测图片类型
* 4.检测图片大小
* 5.文件重命名
* 6.拷贝文件到直定文件夹
* */
$uName=$_POST["uName"];
$uImg=$_FILES["uImg"];
//print_r($uImg);//打印数组,返回结果Array ( [name] => 16.jpg [type] => image/jpeg [tmp_name] => C:\Windows\temp\php66D8.tmp [error] => 0 [size] => 25952 )

/*
* 获取上传文件的类型
* */
$exp=explode(".", $uImg["name"]);
$expName=end($exp);

/*
* 检测图片类型jpg gif png
* */
if($expName!="jpg" && $expName!="gif" && $expName!="png"){
echo "您上传的图片类型非jpg、gif、png<a href='/php/lianXi/upload2/'>返回</a>";
exit;//终止后面的程序
}

/*
* 检测图片大小 1k=1000字节		1M=1000k	1M=1000000字节
* */
if($uImg["size"]>2000000){
echo "您上传的图片大于2M,请<a href='/php/lianXi/upload2/'>返回</a>";
exit;
}

/*
* 文件重命名
* 1.找到文件夹
* 2.文件名不可重复(时间戳+随机数+后缀名)
* */
$dir="uploadImg2/";
$fileName=time().rand("10000","99999").".".$expName;
$uploadUrl=$dir.$fileName;

/*
* 拷贝文件到直定文件夹
* */
move_uploaded_file($uImg["tmp_name"],$uploadUrl);
?>


form enctype="multipart/form-data" 指定的编码方式
Array (
[name] => test.jpg 文件的名称
[type] => image/jpeg文件的mime类型
[tmp_name] => C:\Windows\temp\php6F.tmp 文件临时文职
[error] => 0 错误信息 0 ok 1 上传的文件操作php.ini指定的文件大小 2 3 4 6 7
[size] => 9773 文件大小
)
move_uploaded_file(临时位置,指定的位置)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  常量 文件上传