http://bbs.csdn.net/topics/390144786
只上传一张图片的功能已经实现,上传两张图片就实现不了,代码段比较简单,麻烦大家指导一下:
上传图片的表单:
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
<?php
if
( isset(
$_GET
[
'action'
]) &&
$_GET
[
'action'
] ==
"save"
)
{
include_once
(
'conn.php'
);
//连接数据库
include_once
(
'uploadclass.php'
);
//这个文件在下文会给出
$pic
=
$uploadfile
;
//第一张图片,已经可以正常上传
$pic2
=
$uploadfile2
;
//第二张,上传不了
$sql
=
"insert into product (pic,pic2) values ('$pic','$pic2')"
;
$result
=mysql_query(
$sql
,
$conn
);
if
(!
$result
)
{
echo
mysql_error();
echo
$sql
;
exit
;
}
else
{
echo
"<Script>window.alert('congratulations,the product data inserted successful');location.href='index.php'</Script>"
;
}
mysql_close();
}
?>
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<html xmlns=
"http://www.w3.org/1999/xhtml"
>
<head>
<meta http-equiv=
"Content-Type"
content=
"text/html; charset=UTF-8"
/>
<title>Administrator
for
upload the product resource</title>
</head>
<body>
<form method=
"post"
action=
"?action=save"
enctype=
"multipart/form-data"
>
Images_1:
<input name=
"file"
type=
"file"
value=
"Browse"
/>
<input type=
"hidden"
name=
"MAX_FILE_SIZE"
value=
"2000000"
/>
<br />
Images_2:
<input name=
"file2"
type=
"file"
value=
"Browse"
/>
<input type=
"hidden"
name=
"MAX_FILE_SIZE"
value=
"2000000"
/>
<p />
<input type=
"submit"
value=
"upload this resource"
name=
"upload"
/>
</form>
</body>
</html>
|
上传程序:uploadclass.php(此程序只能上传图片1,如果要能上传图片2,需要怎么加代码呢?)
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
<?php
$uploaddir
=
"../images/upfiles/"
;
$type
=
array
(
"jpg"
,
"gif"
,
"bmp"
,
"jpeg"
,
"png"
);
$patch
=
"aloesky/"
;
function
fileext(
$filename
)
{
return
substr
(
strrchr
(
$filename
,
'.'
), 1);
}
function
random(
$length
)
{
$hash
=
'CR-'
;
$chars
=
'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz'
;
$max
=
strlen
(
$chars
) - 1;
mt_srand((double)microtime() * 1000000);
for
(
$i
= 0;
$i
<
$length
;
$i
++)
{
$hash
.=
$chars
[mt_rand(0,
$max
)];
}
return
$hash
;
}
$a
=
strtolower
(fileext(
$_FILES
[
'file'
][
'name'
]));
if
(!in_array(
strtolower
(fileext(
$_FILES
[
'file'
][
'name'
])),
$type
))
{
$text
=implode(
","
,
$type
);
echo
"You can only upload the following types of files:"
,
$text
,
"<br /> <a href='upload_pro.php'>return and try again?click me</a>"
;
exit
;
}
else
{
$filename
=
explode
(
"."
,
$_FILES
[
'file'
][
'name'
]);
do
{
$filename
[0]=random(10);
$name
=implode(
"."
,
$filename
);
//$name1=$name.".Mcncc";
$uploadfile
=
$uploaddir
.
$name
;
}
while
(
file_exists
(
$uploadfile
));
if
(move_uploaded_file(
$_FILES
[
'file'
][
'tmp_name'
],
$uploadfile
))
{
if
(
is_uploaded_file
(
$_FILES
[
'file'
][
'tmp_name'
]))
{
echo
"the Images Upload failed!"
;
}
else
{
echo
"<center>Your file has been uploaded: </center><br><center><img src='$uploadfile' /></center>"
;
echo
"<br><center><a href='upload_pro.php'>Continue to upload</a></center>"
;
}
}
}
?>
<input name="file[]" type="file" value="Browse" />
在这个表单程序里,我还没看懂,PHP是怎样把那文件的路径写进mysql的。
这是抄的哪的? while(file_exists($uploadfile)); 将造成死循环
|