Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php如何实现文件上传下载

作者:狂神战天   发布日期:2024-06-28   浏览:109

PHP可以通过以下几种方式实现文件上传和下载:

  1. 文件上传:

    • 使用HTML的<input type="file">标签在前端创建文件上传表单;
    • 在后端使用$_FILES超全局数组来获取上传的文件信息;
    • 使用move_uploaded_file()函数将文件从临时目录移动到指定的目录。
  2. 文件下载:

    • 在前端创建一个下载链接或按钮,指向后端处理文件下载的脚本;
    • 在后端使用header()函数设置文件的Content-Type、Content-Disposition和Content-Length等头信息;
    • 使用readfile()函数将文件内容输出到浏览器。

下面是一个简单的示例代码:

文件上传的HTML表单:

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

文件上传的PHP处理脚本(upload.php):

<?php
if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
  $tempFile = $_FILES['file']['tmp_name'];
  $targetFile = 'uploads/' . $_FILES['file']['name'];
  move_uploaded_file($tempFile, $targetFile);
  echo '文件上传成功!';
} else {
  echo '文件上传失败!';
}
?>

文件下载的PHP处理脚本(download.php):

<?php
$fileName = 'path/to/file.pdf';
$fileSize = filesize($fileName);

header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . basename($fileName) . '"');
header('Content-Length: ' . $fileSize);

readfile($fileName);
?>

以上代码中的uploads/是存放上传文件的目录,可以根据实际情况进行修改。在实际应用中,还需要考虑文件上传的安全性、文件类型限制、文件大小限制等问题。

上一篇:php如何实现删除文章

下一篇:php数组如何转json并显示中文

大家都在看

php session用法

php 定义常量

phpisset函数

php后端

php爬虫框架

php读取csv文件

php 三元表达式

php文件加密

php 拆分字符串

php pcntl

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站