网站实现上传下载文件

网站实现上传下载文件

网站实现上传文件功能

使用目录跳转到你想去的地方

前言:

想将云服务器当作云盘来使用,极简。 wordpress一键部署的网站 总共三步:前端文件download.html,后端文件upload.php,目录名images。

下方举例用的“示例图片.jpg”,记得修改为你自己放进去的文件。非浏览器可显示的文件可以把download属性删掉,算是稍微简化一下。

1、前端代码(HTML + JavaScript)

download.html:

文件上传和下载

上传文件

下载文件

jk少女

2、后端代码(PHP)

upload.php

if(isset($_FILES['file'])){

$file = $_FILES['file'];

$fileName = $file['name'];

$fileTmpName = $file['tmp_name'];

$fileSize = $file['size'];

$fileError = $file['error'];

$fileType = $file['type'];

$fileExt = pathinfo($fileName, PATHINFO_EXTENSION);

// 检查文件类型和大小

if ($fileError === UPLOAD_ERR_OK && $fileSize > 0 && is_string($fileExt)) {

// 将文件从临时目录移动到目标目录(这里是images目录)

move_uploaded_file($fileTmpName, 'images/' . $fileName);

echo '文件上传成功!';

} else {

echo '文件类型或大小不正确!';

}

} else {

echo '没有选择文件!';

}

?>

3、在同目录下建一个images文件夹用来存放文件

访问网址后面添加/download.html,示例:

https://ip地址/download.html

有什么好点子欢迎大家交流,互相学习

完善:

2023.12.30遍历文件名

使用的时候才察觉到无法显示目录下的文件内容,我不可能每次上传文件后都去手动添加一条下载链接;

添加了背景图片,同时添加文字背景以不被背景色干扰;

1、在服务器上创建一个list_files.php文件,该文件应该返回一个JSON格式的字符串,其中包含/images目录下的所有文件名。以下是你可以参考的list_files.php代码:

$files = scandir('/images');

$files = array_diff($files, array('.', '..'));

echo json_encode(array_values($files));

?>

文件上传和下载

上传文件

下载文件

emm,背景和文字背景暂时有点鸡肋,有没有什么其它功能和我交流交流呀

2024.1.8更新

download.html把第30行的目录修改为自己的

文件上传和下载

上传文件


下载文件

list_files.php里修改目录为自己的:

$files = scandir('/www/wwwroot/hgoipwhjf.com/images');

$files = array_diff($files, array('.', '..'));

echo json_encode(array_values($files));

?>

upload.php:

$allowedTypes = ['jpg','jpeg','png','gif','mp4','mov','pdf','doc','txt'];

$maxSize = 500 * 1024 * 1024;

if(isset($_FILES['file'])){

$file = $_FILES['file'];

$fileName = $file['name'];

$fileTmpName = $file['tmp_name'];

$fileSize = $file['size'];

echo "接收到文件: " . basename($fileName) . ",大小:{$fileSize} Bytes";

$fileExt = strtolower(pathinfo($fileName, PATHINFO_EXTENSION));

if (!in_array($fileExt, $allowedTypes)) {

echo "文件类型不允许!";

return;

}

if($fileSize > $maxSize) {

echo "文件大小超过限制!";

return;

}

$uploadFile = 'images/' . $fileName;

if(move_uploaded_file($fileTmpName, $uploadFile)) {

echo $uploadFile . " 上传成功!";

} else {

echo "文件保存失败!";

}

} else {

echo "没有选择文件!";

}

?>

showimage.php:

图片展示

header("Cache-Control: max-age=604800");

$dir = 'images/';

$images = glob($dir . '*.{jpg,jpeg,png,gif}', GLOB_BRACE);

foreach ($images as $image) {

echo '';

}

?>

免责声明

注意:此代码示例仅用于演示目的,并可能存在安全风险。在实际应用中,您需要添加更多的安全验证和检查来防止潜在的攻击。

🎯 相关推荐

焕彩桌面怎么才能全部移除 焕彩桌面移除方法
best365官网苹果下载

焕彩桌面怎么才能全部移除 焕彩桌面移除方法

📅 07-11 👁️ 9534
游戏公司:HIVE
日博best365

游戏公司:HIVE

📅 07-07 👁️ 4363
天文望远镜 >
best365官网苹果下载

天文望远镜 >

📅 08-15 👁️ 5481
虎牙直播手机怎么竞猜 虎牙直播网页竞猜教程
国内外常见【压力单位】有哪些?如何分类和换算?
《奇迹暖暖》2018永夜复刻需要钻石介绍 你们准备好钻了吗
best365官网苹果下载

《奇迹暖暖》2018永夜复刻需要钻石介绍 你们准备好钻了吗

📅 08-01 👁️ 8741