background image

'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

 { 

// 

 

取全部