php is upload files,使用PHP上传文件

public static function uploadFile($filepath="upload",$existCheck=0,$uniq=0){

global $_FILES;

try {

// Undefined | Multiple Files | $_FILES Corruption Attack

// If this request falls under any of them, treat it invalid.

if (

!isset($_FILES['uploaded_file']['error']) ||

is_array($_FILES['uploaded_file']['error'])

) {

$result["status"]="fail";$result["errors"]=('Invalid parameters.');return $result;

}

// Check $_FILES['uploaded_file']['error'] value.

switch ($_FILES['uploaded_file']['error']) {

case UPLOAD_ERR_OK:

break;

case UPLOAD_ERR_NO_FILE:

$result["status"]="fail";$result["errors"]=('No file sent.');return $result;

case UPLOAD_ERR_INI_SIZE:

case UPLOAD_ERR_FORM_SIZE:

$result["status"]="fail";$result["errors"]=('Exceeded filesize limit.');return $result;

default:

$result["status"]="fail";$result["errors"]=('Unknown errors.');return $result;

}

// You should also check filesize here.

if ($_FILES['uploaded_file']['size'] > 1000000) {

$result["status"]="fail";$result["errors"]=('Exceeded filesize limit.');return $result;

}

// DO NOT TRUST $_FILES['uploaded_file']['mime'] VALUE !!

// Check MIME Type by yourself.

$finfo = new finfo(FILEINFO_MIME_TYPE);

if (false === $ext = array_search(

$finfo->file($_FILES['uploaded_file']['tmp_name']),

array(

'jpg' => 'image/jpeg',

'png' => 'image/png',

'gif' => 'image/gif',

),

true

)) {

$result["status"]="fail";$result["errors"]=('Invalid file format.');return $result;

}

if($uniq==0){

$temp=$filepath;

}

else{

$temp=$filepath."/".uniqid()."_".$_FILES['uploaded_file']['name'];

}

if ($existCheck==1 && file_exists($temp)) {

$result["status"]="fail";$result["errors"]=('Unknown errors.');return $result;

}

if(@copy($_FILES['uploaded_file']['tmp_name'], $temp)) {

return $result["status"]="success";

}

$result["status"]="fail";$result["errors"]=('Unknown errors.');return $result;

} catch (Exception $e) {

$result["status"]="fail";$result["errors"]= $e->getMessage();return $result;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值