php上传文件案例 已测试成功。
录入数据库需要搭配数据库类class使用。
<?php
$upImg=$_FILES["upImg"];
//截取图像的扩展名
//判断图像的大小
//判断文件的类型
//为文件重命名
//上传图片 move_uploaded_file();
class Upload{
public $arr;
function __construct($arrImg){
$this->arr = $arrImg;
}
//得到扩展名
function getExtName(){
$tmp_name=explode(".",$this->arr["name"]);
$extName=end($tmp_name);
return $extName;
}
//判断图像大小
function checkSize(){
if($this->arr["size"]>2000000){
echo "图像大大了,请调整后上传";
exit;
}
}
//检查文件类型 jpg gif png
function checkType($extName){
if($extName!="jpg" && $extName="gif" && $extName="png")
{
echo "图像类型不正确,请调整后上传";
exit;
}
}
//为文件重命名: //upload/日期/文件名称
function getFileName(){
$filePathOne="upload/"; //is_dir();判断当前路径是否是目录。
//echo is_dir($filePathOne);是目录 返回true 不是目录返回载false
if (is_dir($filePathOne)){
}
else{
mkdir($filePathOne);
}
$filePathTwo=$filePathOne.date("Ymd")."/";
if(is_dir($filePathTwo)){
}
else{
mkdir($filePathTwo);
}
$fileName=$filePathTwo.date("Ymd").rand(1000,9999).".".$this->getExtName();
return $fileName;
}
//文件上传主要方法
function main(){ //所有的文件上传相关的内容都集成到该方法内部
$extN=$this->getExtName();
$this->checkSize();
$this->checkType($extN);
$fileName=$this->getFileName();
move_uploaded_file($this->arr["tmp_name"],$fileName);
//路戏--》放入到数据库;
return $fileName;
}
}
$up = new Upload($upImg);
//$up->getExtName();
//$up->checkSize();
//$up->checkType();
//$up->getFileName();
//$up->main();
$fileName=$up->main();
$userName=$_POST["userName"];
//录入数据库
//$sql="insert into users(userName,userImg) values ('{$userName}','{$fileName}')";
//$up->checkSize();
//$fileName=$up->main();
//$userName-$_POST["userName"];