天天看点

php文件上传类

php涓?浼??剧??绫? ?

<?php

class

?

ieb_upload

{

????

var

?

$FormName

;

//??浠跺????绉?/code>

????

var

?

$Directroy

;

//涓?浼??崇??褰?

????

var

?

$MaxSize

;

//??澶т?浼?澶у?

????

var

?

$CanUpload

;

//??????浠ヤ?浼?

????

var

?

$doUpFile

;

//涓?浼?????浠跺??

????

var

?

$sm_File

;

//缂╃?ュ?惧??绉?/code>

????

var

?

$Error

;

//??璇?????/code>

????

?

????

function

?

ieb_upload(

$formName

?

=

''

,

$dirPath

?

=

''

,

$maxSize

?

= 2097152)

// (1024*2)*1024=2097152 灏辨?? 2M

????

{

????????

global

?

$FormName

,

$Directroy

,

$MaxSize

,

$CanUpload

,

$Error

,

$doUpFile

,

$sm_File

;

????????

// ??濮?????绉?????/code>

????????

$FormName

?

=

$formName

;

????????

$MaxSize

?

=

$maxSize

;

????????

$CanUpload

?

= true;

????????

$doUpFile

?

=

''

;

????????

$sm_File

?

=

''

;

????????

$Error

?

= 0;

?

????????

if

?

(

$formName

?

==

''

)

????????

{

????????????

$CanUpload

?

= false;

????????????

$Error

?

= 1;

????????????

break

;

????????

}

?

????????

if

?

(

$dirPath

?

==

''

)

????????????

$Directroy

?

=

$dirPath

;

????????

else

????????????

$Directroy

?

=

$dirPath

.

'/'

;

????

}

????

// 妫??ユ??浠舵????????/code>

????

function

?

scanFile()

????

{

????????

global

?

$FormName

,

$Error

,

$CanUpload

;

?

????????

if

?

(

$CanUpload

)

????????

{

????????????

$scan

?

=

is_readable

(

$_FILES

[

$FormName

][

'name'

]);

?

????????????

if

?

(

$scan

)

????????????????

$Error

?

= 2;

?

????????????

return

?

$scan

;

????????

}

????

}

????

// ?峰????浠跺ぇ灏?

????

function

?

getSize(

$format

?

=

'B'

)

????

{

????????

global

?

$FormName

,

$Error

,

$CanUpload

;

?

????????

if

?

(

$CanUpload

)

????????

{

????????????

if

?

(

$_FILES

[

$FormName

][

'size'

] == 0)

????????????

{

????????????????

$Error

?

= 3;

????????????????

$CanUpload

?

= false;

????????????

}

?

????????????

switch

?

(

$format

)

????????????

{

????????????????

case

?

'B'

:

????????????????????

return

?

$_FILES

[

$FormName

][

'size'

];

????????????????????

break

;

?

????????????????

case

?

'K'

:

????????????????????

return

?

(

$_FILES

[

$FormName

][

'size'

]) / (1024);

????????????????????

break

;

?

????????????????

case

?

'M'

:

????????????????????

return

?

(

$_FILES

[

$FormName

][

'size'

]) / (1024 * 1024);

????????????????????

break

;

????????????

}

????????

}

????

}

????

// ?峰????浠剁被??

????

function

?

getExt()

????

{

????????

global

?

$FormName

,

$Error

,

$CanUpload

;

?

????????

if

?

(

$CanUpload

)

????????

{

????????????

$ext

?

=

$_FILES

[

$FormName

][

'name'

];

????????????

$extStr

?

=

explode

(

'.'

,

$ext

);

????????????

$count

?

=

count

(

$extStr

)-1;

????????

}

????????

return

?

$extStr

[

$count

];

????

}

????

// ?峰????浠跺??绉?/code>

????

function

?

getName()

????

{

????????

global

?

$FormName

,

$CanUpload

;

?

????????

if

?

(

$CanUpload

)

????????????

return

?

$_FILES

[

$FormName

][

'name'

];

????

}

????

// ?板缓??浠跺??

????

function

?

newName()

????

{

????????

global

?

$CanUpload

,

$FormName

;

?

????????

if

?

(

$CanUpload

)

????????

{

????????????

$FullName

?

=

$_FILES

[

$FormName

][

'name'

];

????????????

$extStr

?

=

explode

(

'.'

,

$FullName

);

????????????

$count

?

=

count

(

$extStr

)-1;

????????????

$ext

?

=

$extStr

[

$count

];

?

????????????

return

?

date

(

'YmdHis'

).rand(0, 9).

'.'

.

$ext

;

????????

}

????

}

????

// 涓?浼???浠?/code>

????

function

?

upload(

$fileName

?

=

''

)

????

{

????????

global

?

$FormName

,

$Directroy

,

$CanUpload

,

$Error

,

$doUpFile

;

?

????????

if

?

(

$CanUpload

)

????????

{

????????????

if

?

(

$_FILES

[

$FormName

][

'size'

] == 0)

????????????

{

????????????????

$Error

?

= 3;

????????????????

$CanUpload

?

= false;

????????????????

return

?

$Error

;

????????????????

break

;

????????????

}

????????

}

?

????????

if

?

(

$CanUpload

)

????????

{

????????????

if

?

(

$fileName

?

==

''

)

????????????????

$fileName

?

=

$_FILES

[

$FormName

][

'name'

];

?

????????????

$doUpload

?

= @

copy

(

$_FILES

[

$FormName

][

'tmp_name'

],

$Directroy

.

$fileName

);

?

????????????

if

?

(

$doUpload

)

????????????

{

????????????????

$doUpFile

?

=

$fileName

;

????????????????

chmod

(

$Directroy

.

$fileName

, 0777);

????????????????

return

?

true;

????????????

}

????????????

else

????????????

{

????????????????

$Error

?

= 4;

????????????????

return

?

$Error

;

????????????

}

????????

}

????

}

????

// ??寤哄?剧??缂╃?ュ??/code>

????

function

?

thumb(

$dscChar

?

=

''

,

$width

?

= 150,

$height

?

= 113)

????

{

????????

global

?

$CanUpload

,

$Error

,

$Directroy

,

$doUpFile

,

$sm_File

;

?

????????

if

?

(

$CanUpload

?

&&

$doUpFile

?

!=

''

)

????????

{

????????????

$srcFile

?

=

$doUpFile

;

?

????????????

if

?

(

$dscChar

?

==

''

)

????????????????

$dscChar

?

=

'sm_'

;

?

????????????

$dscFile

?

=

$Directroy

.

$dscChar

.

$srcFile

;

????????????

$data

?

=

getimagesize

(

$Directroy

.

$srcFile

, &

$info

);

?

????????????

switch

?

(

$data

[2])

????????????

{

????????????????

case

?

1:

????????????????????

$im

?

= @imagecreatefromgif(

$Directroy

.

$srcFile

);

????????????????????

break

;

?

????????????????

case

?

2:

????????????????????

$im

?

= @imagecreatefromjpeg(

$Directroy

.

$srcFile

);

????????????????????

break

;

?

????????????????

case

?

3:

????????????????????

$im

?

= @imagecreatefrompng(

$Directroy

.

$srcFile

);

????????????????????

break

;

????????????

}

?

????????????

$srcW

?

= imagesx(

$im

);

????????????

$srcH

?

= imagesy(

$im

);

????????????

$ni

?

= imagecreatetruecolor(

$width

,

$height

);

????????????

imagecopyresized(

$ni

,

$im

, 0, 0, 0, 0,

$width

,

$height

,

$srcW

,

$srcH

);

????????????

$cr

?

= imagejpeg(

$ni

,

$dscFile

);

????????????

chmod

(

$dscFile

, 0777);

?

????????????

if

?

(

$cr

)

????????????

{

????????????????

$sm_File

?

=

$dscFile

;

????????????????

return

?

true;

????????????

}

????????????

else

????????????

{

????????????????

$Error

?

= 5;

????????????????

return

?

$Error

;

????????????

}

????????

}

????

}

????

// ?剧ず??璇?????/code>

????

function

?

Err()

????

{

????????

global

?

$Error

;

????????

return

?

$Error

;

????

}

????

// 涓?浼???????浠跺??

????

function

?

UpFile()

????

{

????????

global

?

$doUpFile

,

$Error

;

????????

if

?

(

$doUpFile

?

!=

''

)

????????????

return

?

$doUpFile

;

????????

else

????????????

$Error

?

= 6;

????

}

????

// 涓?浼???浠剁??璺?寰?

????

function

?

filePath()

????

{

????????

global

?

$Directroy

,

$doUpFile

,

$Error

;

????????

if

?

(

$doUpFile

?

!=

''

)

????????????

return

?

$Directroy

.

$doUpFile

;

????????

else

????????????

$Error

?

= 6;

????

}

????

// 缂╃?ュ?炬??浠跺??绉?/code>

????

function

?

thumbMap()

????

{

????????

global

?

$sm_File

,

$Error

;

????????

if

?

(

$sm_File

?

!=

''

)

????????????

return

?

$sm_File

;

????????

else

????????????

$Error

?

= 6;

????

}

????

// ?剧ず????淇℃??

????

function

?

ieb_version()

????

{

????????

return

?

'IEB_UPLOAD CLASS Ver 1.1'

;

????

}

}

?

?>

浣跨?ㄦ?规?

?

<?php

// ??杞戒?浼?绫?/code>

// include('ieb_upload.inc');

?>

?

<html>

<head>

<meta http-equiv=

"Content-Type"

?

content=

"text/html; charset=gb2312"

>

<title>????棰???妗?lt;/title>

</head>

?

<body style=

"font-size:12px;"

>

<form action=

""

?

method=

"post"

?

enctype=

"multipart/form-data"

?

name=

"form1"

>

<input type=

"file"

?

name=

"file"

>

<input type=

"submit"

?

name=

"Submit"

?

value=

"??浜?

>

<input name=

"scan"

?

type=

"hidden"

?

id=

"up"

?

value=

"true"

>

</form><b /><br/>

?

<?php

if

?

(isset(

$_REQUEST

[

'scan'

]))

{

????

// 澹版??涓?涓?涓?浼?绫?/code>

????

$upfos

?

=

new

?

ieb_upload(

'file'

,

'tmp'

);

?

????

????

// 杩???灏?瑕?涓?浼?????浠跺??绉?/code>

????

echo

?

'??浠跺??绉帮?'

.

$upfos

->getName().

'<br/>'

;

????

// 杩?????浠跺??缂???

????

echo

?

'??浠剁被??锛?'

.

$upfos

->getExt().

'<br/>'

;

????

// 杩?????浠跺ぇ灏?

????

echo

?

'??浠跺ぇ灏?锛?'

.

$upfos

->getSize().

'<br/>'

;

?

????

????

// ???虹????????浠跺??

????

echo

?

'???烘??浠讹?'

.

$upfos

->newName().

'<br/>'

;

?

????

????

// 涓?浼???浠?/code>

????

$upfos

->upload();

?

????

????

// ????缂╃?ュ??/code>

????

$upfos

->thumb();

?

????

????

// 杩???????????浠跺??

????

echo

?

'??????浠讹?'

.

$upfos

->UpFile().

'<br/>'

;

????

// 杩?????浠剁??璺?寰?

????

echo

?

'??浠惰矾寰?锛?'

.

$upfos

->filePath().

'<br/>'

;

????

// 杩???缂╃?ュ?剧????绉?/code>

????

echo

?

'缂╃?ュ?剧??锛?'

.

$upfos

->thumbMap().

'<br/>'

;

????

// 杩???涓?浼?绫荤????淇℃??

????

echo

?

'????淇℃??锛?'

.

$upfos

->ieb_version().

'<br/>'

;

}

?>

</body>

</html>

杞???锛?http://www.cnblogs.com/ibjrc/archive/2011/07/27/2118718.html