php简易网盘实例

<?php
// 文件上传
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['fileToUpload'])) {
	$targetDirectory = '/path_to_non_public_directory/upload/';
	$originalFileName = time().$_FILES["fileToUpload"]["name"];
$targetFileName = $targetDirectory . iconv("UTF-8", "GB2312", $originalFileName); // 将文件名转换为 GB2312 编码

// 将文件从临时目录移动到上传目录
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetFileName)) {
	echo "文件上传成功。";
} else {
	echo "文件上传失败。";
}
}

// 文件下载
if (isset($_GET['filename'])) {
	$filepath = '/path_to_non_public_directory/upload/' . $_GET['filename'];

	if (file_exists($filepath)) {
		header('Content-Description: File Transfer');
		header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
		header('Content-Disposition: attachment; filename="' . $_GET['filename'] . '"');
		header('Content-Transfer-Encoding: binary');
		header('Expires: 0');
		header('Cache-Control: must-revalidate');
		header('Pragma: public');
		header('Content-Length: ' . filesize($filepath));
		ob_clean();
		flush();
		readfile($filepath);
		exit;
	} else {
		echo "文件不存在。";
	}
}
?>
<!DOCTYPE html>
<html>
<head>
	<meta charset="UTF-8">
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<!-- 其他 head 部分的内容 -->
</head>
<body>
	<h2>上传文件</h2>
	<form action="" method="post" enctype="multipart/form-data">
		<input type="file" name="fileToUpload" id="fileToUpload">
		<input type="submit" value="上传文件" name="submit">
	</form>

	<h2>下载文件</h2>
	<ul>
		<?php
		$files = scandir('/path_to_non_public_directory/upload/');
		foreach ($files as $file) {
			if ($file != '.' && $file != '..') {
				echo "<li><a href='?filename=" . urlencode($file) . "'>".iconv("GBK", "UTF-8", $file)."</a></li>";
			}
		}
		?>
	</ul>
</body>
</html>

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网盘修复的核心功能: 1.断点续传功能。市面上许多所谓的断点传传基本没有完美的,本源码经过修复,完美实现了断点、续传功能。 切片:大文件分成1MB大小的小文件, 服务器上传无压力,切片文件合并无压力。市面上许多切片文件合并时CPU经常占用99%,本源码CPU没有任何压力。 续传:上传中间如果人工或网络出现故障,再上传时会接着上传,不会像网上的许多所谓的续传,全是从0开始。: 2.极速上传。由于采取了优化过的代码,WEB上传速度可媲美flashfxp等专业上传软件,稳定,极速。 3.强大的垃圾文件删除功能。如果大文件中途停止上传,今后再不上传的话,系统会产生若干垃圾切片文件,本系统会自动监测,如7天后会自动删除切片垃圾文件,释放服务器空间。 4.支持ssl功能,可直接用https://形式访问。 5.强大的定时任务。本系统会定时清理网盘回收站垃圾文件,而这一功能完全由系统完成,不需要由像其它系统一样必须在第三方定时设置定时任务。 网盘主要功能: 1.支持用户管理系统。支持用户注册功能(后台可关闭),管理可为每个用户分配一定数额的存储空间,还可以限制单个上传文件大小。 2.支持管理员查看每个会员的文件上传、分享情况,可对用户文件进行删除等管理。目前,市面上的便宜网盘基本都只支持个人网盘功能,没有管理员功能,无法管理其它用户的文件。 3.支持强大的分享功能。 提取密码:输入正确的提取码方可下载文件 分享次数:超次分享次数,文件就无法下载(百度网盘没有这个功能) 分享日期:在设置的日期段内可进行下载。 4.响应式设计,完美支持手机、平板等移动终端设备。 5.可灵活设置群组权限,可只允许查看、编辑等功能。(类似于QQ群概念一样,进入群组的人可以像共享文件夹一样分享、共享、下载文件,可设置权限,如群组创建者可设置群组成员只允许查看、下载文件,但不允许其它人员上传分享文件) 6.支持压缩包在线查看功能。直接在线查看,不用下载直接在线解压。 7.支持在线创建文件夹、创建文件,删除文件等操作。 8.支持office文件在线预览功能,相当牛比。 9.支持mp4 mp3文件在线预览播放功能。 10.支持极速上传文件功能。本网盘采取html上传技术,在WEB上传速度完全可媲美FLASHFXP等专业上传软件。 11.真正的断点续传功能,市面上许多所谓的断点续传功能都有问题。你将一个5G大文件上传到50%后,人为中断,再重新上传看看,基本全从0开始了,本网盘可接着从50%上传。 12.密码找回功能,如果忘记密码,可通过邮箱找回。 13.支持大文件体积识别功能。市面上许多上传程序,对超过2G的文件全识别为0或者几百MB,造成文件下载时出错。 14.垃圾切片文件自动删除功能。有些会员上传大文件过程中,可能由于人为或网络的问题,没有将文件上传到100%,之后再没有上传文件,造成产生了许多垃圾切片文件。本系统可智能删除垃圾切片文件,尽可能利用服务器空间。 15.自动删除回收站功能。本网盘可设置N天自动删除回收站文件,对于删除的文件会自动进入回收站,对进入回收站的文件,超过设置的天数会自动进行删除。不仅删除数据库记录,更会自动删除服务器上的物理文件。许多网盘都无法删除服务器上的文件,只是删除了数据库记录,并没有真正删除服务器文件,造成资源严重浪费。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值