You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
2.4 KiB
59 lines
2.4 KiB
<?php
|
|
$ini_set = array(
|
|
'max_size' => 2 * 1024 * 1024, //文件大小限制设置 M单位
|
|
'out_time' => 60, //上传超时设置
|
|
'list' => $ShearPhoto["config"]["temp"].DIRECTORY_SEPARATOR, //上传路径
|
|
'whitelist' => array(
|
|
".jpeg",
|
|
".gif",
|
|
".png",
|
|
".jpg")//上传的文件后缀
|
|
);
|
|
/*设置部份结束*/
|
|
ini_set('max_execution_time', $ini_set['out_time']);
|
|
function HandleError($erro = '系统错误') {
|
|
die('{"erro":"'.$erro.'"}');
|
|
}
|
|
if (!isset($_FILES['UpFile'])) {
|
|
HandleError();
|
|
}
|
|
if (isset($_FILES['UpFile']['error']) && $_FILES['UpFile']['error'] != 0) {
|
|
$uploadErrors = array(
|
|
0 => '文件上传成功',
|
|
1 => '上传的文件超过了 php.ini 文件中的 upload_max_filesize directive 里的设置',
|
|
2 => '上传的文件超过了 HTML form 文件中的 MAX_FILE_SIZE directive 里的设置',
|
|
3 => '上传的文件仅为部分文件',
|
|
4 => '没有文件上传',
|
|
6 => '缺少临时文件夹'
|
|
);
|
|
HandleError($uploadErrors[$_FILES['UpFile']['error']]);
|
|
}
|
|
if (!isset($_FILES['UpFile']['tmp_name']) || !@is_uploaded_file($_FILES['UpFile']['tmp_name'])) {
|
|
HandleError('无法找到上传的文件,上传失败');
|
|
}
|
|
if (!isset($_FILES['UpFile']['name'])) {
|
|
HandleError('上传空名字文件名');
|
|
}
|
|
$POST_MAX_SIZE = ini_get('post_max_size');
|
|
$unit = strtoupper(substr($POST_MAX_SIZE, -1));
|
|
$multiplier = $unit == 'M' ? 1048576 : ($unit == 'K' ? 1024 : ($unit == 'G' ? 1073741824 : 1));
|
|
if ((int)$_SERVER['CONTENT_LENGTH'] > $multiplier * (int)$POST_MAX_SIZE && $POST_MAX_SIZE) {
|
|
HandleError('超过POST_MAX_SIZE的设置值,请查看PHP.ini的设置');
|
|
}
|
|
$file_size = @filesize($_FILES['UpFile']['tmp_name']);
|
|
if (!$file_size || $file_size > $ini_set['max_size']) {
|
|
HandleError('零字节文件 或 上传的文件已经超过所设置最大值');
|
|
}
|
|
$UpFile = array();
|
|
$int_type = getimagesize($_FILES['UpFile']['tmp_name']);
|
|
$str_type = image_type_to_extension($int_type[2]);
|
|
if (!in_array(strtolower($str_type) , $ini_set['whitelist'])) {
|
|
HandleError('不允许上传此类型文件');
|
|
}
|
|
$str_type==".jpeg" && ($str_type=".jpg");
|
|
$UpFile['filename']=uniqid("temp_")."_".mt_rand(100,999).$str_type;
|
|
|
|
$UpFile['file_url'] = $ini_set['list'] . $UpFile['filename'];
|
|
|
|
file_exists($ini_set['list']) or @mkdir($ini_set['list'], 511,true);
|
|
?>
|