'9' => '上传的临时文件丢失。',
);
//@
开始执行文件上传
public
static
function
start(
$feild
= 'file') {
if
(!
empty
(
$_FILES
)) {
self::
$status
=
$_FILES
[
$feild
]['error'];
if
(self::
$status
> 0)
return
array
('status' => self::
$status
, 'msg' => self::
$message
[self::
$status
]);
self::
$image
=
$_FILES
[
$feild
]['tmp_name'];
self::
$suffix
=
strtolower
(
strrchr
(
$_FILES
[
$feild
]['name'], '.'));
return
array
('status' => self::_upload(), 'path' => self::
$image
, 'msg' => self::
$message
[self::
$status
]);
}
else
{
return
array
('status' => self::
$status
, 'msg' => self::
$message
[self::
$status
]);
}
}
//@
私有 上传开始
private
static
function
_upload(
$path
= './upload/') {
date_default_timezone_set('PRC');
$newFile
=
$path
.
date
('Y/m/d/His') . rand(100, 999) . self::
$suffix
;
self::umkdir(dirname(
$newFile
));
if
(
is_uploaded_file
(self::
$image
) && move_uploaded_file(self::
$image
,
$newFile
)) {
self::
$image
=
$newFile
;
if
(in_array(self::
$suffix
, self::
$imageType
))
return
self::checkHex();
else
return
self::
$status
= 0;
}
else
{
return
self::
$status
= 9;
}
}
//@
私有 16
进制检测
private
static
function
checkHex() {
if
(
file_exists
(self::
$image
)) {
$resource
=
fopen
(self::
$image
, 'rb');
$fileSize
=
filesize
(self::
$image
);
fseek
(
$resource
, 0);
if
(
$fileSize
> 512) {
//
取头和尾
$hexCode
= bin2hex(
fread
(
$resource
, 512));
fseek
(
$resource
,
$fileSize
- 512);
$hexCode
.= bin2hex(
fread
(
$resource
, 512));
}
else
{
//
取全部