WEB学习
PHP源码分析
1
<
html
>
2
<
head
>
3
<?
php
4
5
/*
****************************************
6
7
Title :文件上传详解
8
Author:WEB-zhenggb(郑桂斌)
9
Finish Date :2009-4-
15
11
****************************************
*/
12
13
$uploaddir
=
"
./files/
"
;
//
设置文件保存目录 注意包含/
14
$type
=
array
(
"
jpg
"
,
"
gif
"
,
"
bmp
"
,
"
jpeg
"
,
"
png
"
);
//
设置允许上传文件的类型
15
$patch
=
"
http://127.0.0.1/cr_downloadphp/upload/files/
"
;
//
程序所在路径
16
17
//获取文件后缀名函数
18
function
fileext(
$filename
)
19
{
20
return
substr
(
strrchr
(
$filename
,
'
.
'
)
,
1
);
21
}
22
//
生成随机文件名函数
23
function
random(
$length
)
24
{
25
$hash
=
'
CR-
'
;
26
$chars
=
'
ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz
'
;
27
$max
=
strlen
(
$chars
)
-
1
;
28
mt_srand
((
double
)
microtime
()
*
1000000
);
29
for
(
$i
=
0
;
$i
<
$length
;
$i
++
)
30
{
31
$hash
.=
$chars
[
mt_rand
(
0
,
$max
)];
32
}
33
return
$hash
;
34
}
35
36
$a
=
strtolower
(fileext(
$_FILES
[
'
file
'
][
'
name
'
]));
37
//
判断文件类型
38
if
(
!
in_array
(
strtolower
(fileext(
$_FILES
[
'
file
'
][
'
name
'
]))
,
$type
))
39
{
40
$text
=
implode
(
"
,
"
,
$type
);
41
echo
"
您只能上传以下类型文件:
"
,
$text
,
"
<br>
"
;
42
}
43
//
生成目标文件的文件名
44
else
{
45
$filename
=
explode
(
"
.
"
,
$_FILES
[
'
file
'
][
'
name
'
]);
46
do
47
{
48
$filename
[
0
]
=
random(
10
);
//
设置随机数长度
49
$name
=
implode
(
"
.
"
,
$filename
);
50
//
$name1=$name.".Mcncc";
51
$uploadfile
=
$uploaddir
.
$name
;
52
}
53
54
while
(
file_exists
(
$uploadfile
));
55
56
if
(
move_uploaded_file
(
$_FILES
[
'
file
'
][
'
tmp_name
'
]
,
$uploadfile
)){
57
58
if
(
is_uploaded_file
(
$_FILES
[
'
file
'
][
'
tmp_name
'
])){
59
//
输出图片预览
60
echo
"
<center>您的文件已经上传完毕 上传图片预览: </center><br><center><img src='$uploadfile'></center>
"
;
61
echo
"
<br><center><a href='javascript:history.go(-1)'>继续上传</a></center>
"
;
62
}
63
else
{
64
echo
"
上传失败!
"
;
65
}
66
}
67
}
68
69
?>
70
71
</
head
>
72
<
body
>
73
<
form method
=
"
post
"
action
=
"
upload.php
"
enctype
=
"
multipart/form-data
"
>
74
<
table border
=
0
cellspacing
=
0
cellpadding
=
0
align
=
center width
=
"
100%
"
>
75
<
tr
>
76
<
td width
=
55
height
=
20
align
=
"
center
"
><
input type
=
"
hidden
"
name
=
"
MAX_FILE_SIZE
"
value
=
"
2000000
"
>
文件:
</
TD
>
77
<
td height
=
"
16
"
>
78
<
input name
=
"
file
"
type
=
"
file
"
value
=
"
浏览
"
>
79
<
input type
=
"
submit
"
value
=
"
上传
"
name
=
"
B1
"
>
80
</
td
>
81
</
tr
>
82
</
table
>
83
</
form
>
84
</
body
>
85
</
html
>
86
posted on 2009-04-16 10:06
郑桂斌
阅读(451)
评论(0)
编辑
收藏
引用
网摘
所属分类:
PHP
只有注册用户
登录
后才能发表评论。
网站导航:
IT新闻
博客园
BlogJava
博客生活
IT博客网
C++博客
程序员招聘
Powered by:
PHP博客
Copyright © 郑桂斌
<
2024年4月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
导航
PHP博客
首页
新随笔
联系
聚合
管理
统计
随笔 - 9
文章 - 2
评论 - 0
引用 - 0
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔分类
CSS+DIV第一步(3)
(rss)
PHP学习第一步:(5)
(rss)
随笔档案
2009年5月 (1)
2009年4月 (8)
文章分类
PHP(2)
(rss)
文章档案
2009年4月 (2)
最新随笔
1. Float属性
2. PHP生成静态页面详解
3. 三行三列左右两栏布局中间自适应布局
4. [JS]Cookie精通之路
5. PHP上传文件
6. margin和padding的用法
7. Session的用法
8. require和require_once的区别
9. PHP学习
搜索
最新随笔
1. Float属性
2. PHP生成静态页面详解
3. 三行三列左右两栏布局中间自适应布局
4. [JS]Cookie精通之路
5. PHP上传文件
6. margin和padding的用法
7. Session的用法
8. require和require_once的区别
9. PHP学习
最新评论
阅读排行榜
1. require和require_once的区别(10538)
2. PHP生成静态页面详解 (7251)
3. Session的用法(4162)
4. margin和padding的用法(1770)
5. 三行三列左右两栏布局中间自适应布局(1134)
评论排行榜
1. PHP学习(0)
2. require和require_once的区别(0)
3. Session的用法(0)
4. margin和padding的用法(0)
5. PHP上传文件(0)