文件上传页面(单文件、多文件上传)
<html>
<head>
<title>PHP文件上传</title>
<body>
<!-- 单文件上传 -->
<p>单文件上传</p>
<form action="../FileUpload/RecvFile.php" method="POST" enctype="multipart/form-data" >
<!-- 允许的最大文件大小 -->
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
<!-- $_FILES接收文件数组 -->
传输的文件: <input name="userfile" type="file" /><br/><br/>
<input type="submit" value="上传文件" />
</form>
<br/>
<br/>
<!-- 多文件上传 -->
<p>多文件上传</p>
<form action="../FileUpload/RecvFile.php" method="post" enctype="multipart/form-data">
<p>文件:
<input type="file" name="pictures[]" />
<input type="file" name="pictures[]" />
<input type="file" name="pictures[]" /><br/><br/>
<input type="submit" value="上传文件" />
</p>
</form>
</body>
</head>
</html>
介绍文件Recv.php
<?php
//echo '获取文件参数<br/>';
/*
* 客服端文件原名称
*/
//echo '文件名称'.$_FILES['userfile']['name'].'<br>';
/*
* 上传的文件的类型(gif,zip,png,avi)
* 文件的 MIME 类型,如果浏览器提供此信息的话。一个例子是“image/gif”。
* 不过此 MIME 类型在 PHP 端并不检查,因此不要想当然认为有这个值。
*/
//echo '文件类型'.$_FILES['userfile']['type'].'<br>';
/*
* 已上传文件的大小,单位为字节。
*/
//echo '上传文件的大小'.$_FILES['userfile']['size'].'<br>';
/*
* 文件被上传后在服务端储存的临时文件名。
*/
//echo '服务器端存储文件名'.$_FILES['userfile']['luobin'].'<br>';
/*
* 文件所在服务端存储路径
*/
/* $uploaddir = '../RecvFile/' ;
$uploadfile = $uploaddir . basename ( $_FILES [ 'userfile' ][ 'name' ]); */
/*
* 单文件上传处理
*/
/*
* bool move_uploaded_file ( string $filename , string $destination ),将$filename文件
* 移动到$destination文件,返回值为bool
*/
/* echo '<pre>';
if (move_uploaded_file ( $_FILES [ 'userfile' ][ 'tmp_name' ], $uploadfile )) {
echo "合法文件,文件上传成功.\n" ;
} else {
echo "文件传输失败\n" ;
}
echo 'debugging信息:' ;
print_r ( $_FILES );
echo '<pre/>'; */
/*
* 多文件上传处理
*/
foreach ($_FILES["pictures"]["error"] as $key => $error) {
if ( $error == UPLOAD_ERR_OK ) {
$tmp_name = $_FILES ["pictures"][ "tmp_name"][$key];
$name = $_FILES ["pictures" ][ "name" ][ $key ];
move_uploaded_file ($tmp_name , '../RecvFile/'.$name);
echo '文件'.$name.'上传陈功<br/>';
}
}
echo 'debugging信息:';
print_r ( $_FILES );
?>