php多文件上传下载示例分享

php多文件上传下载示例分享

这篇文章主要介绍了php多文件上传下载示例,需要的朋友可以参考下

代码如下:

<html>

<head>

<meta charset="utf-8">

<title>index_uploads</title>

</head>

<body>

<form action="uploads.php" method="post" enctype="multipart/form-data">

<input type="file" name="file[]">

<br>

<input type="file" name="file[]">

<br>

<input type="file" name="file[]">

<br>

<input type="file" name="file[]">

<br>

<input type="file" name="file[]">

<br>

<input type="submit" value="uploads">

</form>

</body>

</html>

index_uploads.php

代码如下:

<?php

echo "<pre>";

print_r($_FILES);

echo "</pre>";

$count = count($_FILES['file']['name']);

for ($i = 0; $i < $count; $i++) {

$tmpfile = $_FILES['file']['tmp_name'][$i];

$filefix = array_pop(explode(".", $_FILES['file']['name'][$i]));

$dstfile = "uploads/files/".time()."_".mt_rand().".".$filefix;

if (move_uploaded_file($tmpfile, $dstfile)) {

echo "<script>alert('succeed!');window.location.href='listdir.php';</script>";

} else {

echo "<script>alert('fail!');window.location.href='index_uploads.php';</script>";

}

}

uploads.php

代码如下:

<?php

header("content-type:text/html;charset=utf-8");

$dirname = "uploads/files";

function listdir($dirname) {

$ds = opendir($dirname);

while ($file = readdir($ds)) {

$path = $dirname.'/'.$file;

if ($file != '.' && $file != '..'){

if (is_dir($path)) {

listdir($path);

} else {

echo "<tr>";

echo "<td><img src='$path'></td>";

echo "<td><a href='download.php?imgfile=$file'>Download</a></td>";

echo "</tr>";

}

}

}

}

echo "<h2>图片下载|<a href='index_uploads.php'>图片上传</a></h2>";

echo "<table width='700px' >";

listdir($dirname);

echo "</table>";

listdir.php

代码如下:

<?php

$imgfile = $_GET['imgfile'];

$path = './uploads/files/'.$imgfile;

$imgsize = filesize($path);

header("content-type:application/octet-stream");

header("content-disposition:attachment;filename={$imgfile}");

header("content-length:{$imgsize}");

readfile($path);

download.php

download.php

核心下载:

代码如下:

header("content-type:application/octet-stream");

header("content-disposition:attachment;filename={$imgfile}");

header("content-length:{$imgsize}");

readfile($path);