当前位置:首页 > PHP

php实现文件传输

2026-02-14 04:11:35PHP

PHP实现文件上传

使用PHP的$_FILES超全局变量处理文件上传,表单需设置enctype="multipart/form-data"属性。

<form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="fileToUpload">
    <input type="submit" value="Upload">
</form>

PHP处理脚本示例:

$targetDir = "uploads/";
$targetFile = $targetDir . basename($_FILES["fileToUpload"]["name"]);
move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetFile);

PHP实现文件下载

通过设置HTTP头实现文件下载:

$filePath = 'path/to/file.ext';
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($filePath).'"');
readfile($filePath);
exit;

大文件分块传输

对于大文件传输,可采用分块处理方式:

// 上传分块处理
$chunk = $_FILES['file']['tmp_name'];
$chunkNumber = $_POST['chunk'];
$totalChunks = $_POST['totalChunks'];

// 下载分块处理
$file = 'large_file.zip';
$chunkSize = 1024 * 1024; // 1MB
$handle = fopen($file, 'rb');
fseek($handle, $_GET['offset']);
echo fread($handle, $chunkSize);

安全注意事项

验证文件类型和大小:

$allowedTypes = ['image/jpeg', 'image/png'];
$maxSize = 5 * 1024 * 1024; // 5MB

if (!in_array($_FILES['file']['type'], $allowedTypes)) {
    die('Invalid file type');
}

if ($_FILES['file']['size'] > $maxSize) {
    die('File too large');
}

存储上传文件时使用随机文件名:

$extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
$newFilename = uniqid().'.'.$extension;
move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/'.$newFilename);

php实现文件传输

标签: 文件传输php
分享给朋友:

相关文章

php实现分页

php实现分页

PHP实现分页的基本方法 使用原生PHP实现分页功能需要结合数据库查询和HTML展示。以下是核心实现步骤: 数据库查询与分页逻辑 // 连接数据库 $conn = new mysqli('loca…

php实现购物车

php实现购物车

PHP实现购物车功能 购物车功能是电商网站的核心模块之一,通常涉及商品添加、删除、数量修改和结算等操作。以下是使用PHP实现购物车功能的几种方法。 使用Session存储购物车数据 Session…

php如何实现直播

php如何实现直播

实现直播功能的方法 PHP可以通过结合其他技术和工具来实现直播功能。以下是几种常见的方法: 使用流媒体服务器 配置流媒体服务器如Nginx-RTMP、Red5或Wowza。这些服务器支持RTM…

php购物车实现

php购物车实现

PHP购物车实现方法 使用PHP实现购物车功能可以通过多种方式完成,以下是几种常见的实现方法: Session存储购物车数据 利用PHP的$_SESSION超全局变量存储购物车数据是最简单的方法。用…

php验证码的实现

php验证码的实现

PHP 验证码实现方法 使用 GD 库生成基础验证码 创建画布并生成随机字符串作为验证码内容: session_start(); $width = 120; $height = 40; $image…

php实现跳转

php实现跳转

PHP 实现页面跳转的方法 在 PHP 中实现页面跳转有多种方式,以下是常见的几种方法及其适用场景: 使用 header() 函数 通过 header() 函数发送 HTTP 头部信息实现跳转。注…