Home Backend Development PHP Tutorial How to write a simple file upload and download function via PHP

How to write a simple file upload and download function via PHP

Sep 24, 2023 am 08:12 AM
php file upload php file download Simple file processing

How to write a simple file upload and download function via PHP

How to write a simple file upload and download function through PHP

With the development of Internet technology, file upload and download functions have become essential functions for many websites one. By writing a simple file upload and download function, users can easily upload and download files and improve user experience. This article will introduce how to use PHP to write a simple file upload and download function, and provide specific code examples.

1. Implementation of the file upload function

  1. Create a form
    First, create a form on the HTML page for users to upload files. The code of the form is as follows:

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

    Among them, the action attribute of the form tag specifies the processing script after the form is submitted as upload.php, method The attribute specifies the form submission method as POST, and the enctype attribute specifies the form encoding type as multipart/form-data to support file upload.

  2. Write the upload script
    In the upload.php file, write the PHP code to handle the file upload. The code is as follows:

    <?php
    $targetDir = "uploads/";  // 上传文件存储目录
    $targetFile = $targetDir . basename($_FILES["file"]["name"]);  // 上传文件的路径
    
    // 检查文件类型
    $fileType = strtolower(pathinfo($targetFile, PATHINFO_EXTENSION));
    $allowedTypes = array("jpg", "jpeg", "png", "gif");
    if (!in_array($fileType, $allowedTypes)) {
     echo "只允许上传图片文件!";
     exit;
    }
    
    // 将文件从临时目录移动到指定目录
    if (move_uploaded_file($_FILES["file"]["tmp_name"], $targetFile)) {
     echo "文件上传成功!";
    } else {
     echo "文件上传失败!";
    }
    ?>
    Copy after login

    In the above code, a variable $targetDir is first defined to specify the storage directory after the file is uploaded, and then the basename() function is used Get the path of the uploaded file, then use the strtolower() function to convert the file type to lowercase, use the pathinfo() function to get the extension of the file, then check if the file extension is allowed within the type range. If the file type does not meet the requirements, a prompt message is output and the program is terminated. If the file type meets the requirements, use the move_uploaded_file() function to move the file from the temporary directory to the specified directory.

2. Implementation of the file download function

  1. Create a file list
    First, you need to display a list of files available for download on the page . The code is as follows:

    <?php
    $files = glob("uploads/*");  // 获取上传文件的列表
    
    foreach ($files as $file) {
     $fileName = basename($file);
     echo "<a href='download.php?file={$fileName}'>{$fileName}</a><br>";
    }
    ?>
    Copy after login

    In the above code, use the glob() function to get the list of uploaded files, then use the basename() function to get the file name, and finally Use echo to output a list of files and generate a download link for each file.

  2. Write download script
    In the download.php file, write PHP code to download the file. The code is as follows:

    <?php
    $fileName = $_GET["file"];  // 获取要下载的文件名
    $filePath = "uploads/" . $fileName;  // 要下载的文件路径
    
    if (file_exists($filePath)) {
     header("Content-Type: application/octet-stream");
     header("Content-Disposition: attachment; filename={$fileName}");
     readfile($filePath);
    } else {
     echo "文件不存在!";
    }
    ?>
    Copy after login

    In the above code, the $_GET super global array is first used to obtain the file name to be downloaded, and then the path of the file is spliced ​​based on the file name. Next, use the file_exists() function to check whether the file exists. If the file exists, set the HTTP header information so that the browser downloads the file as an attachment, and then use the readfile() function to The file is output to the browser. If the file does not exist, a prompt message is output.

The above is a sample code for writing a simple file upload and download function through PHP. Through these codes, we can easily implement file upload and download functions and improve the user experience of the website. Of course, this is just a simple example, and more security and performance optimization issues may need to be considered in actual development, but these sample codes can serve as the basis for getting started and learning, helping beginners quickly master the principles and implementation of file upload and download. Way.

The above is the detailed content of How to write a simple file upload and download function via PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP file download methods and FAQs PHP file download methods and FAQs Jun 09, 2023 pm 12:37 PM

PHP is a widely used server-side programming language with many functions and features that can be used for various tasks, including file downloading. In this article, we will learn how to create a file download script using PHP and solve common problems that may arise during the file download process. 1. File download method To download files in PHP, we need to create a PHP script. Let's take a look at how to achieve this. Create a link to download the file Create a link on the page via HTML or PHP that allows users to download the file.

PHP file upload tutorial: How to upload files using HTML forms PHP file upload tutorial: How to upload files using HTML forms Jun 11, 2023 am 08:10 AM

PHP file upload tutorial: How to use HTML forms to upload files In the process of website development, the file upload function is a very common requirement. As a popular server scripting language, PHP can implement the file upload function very well. This article will introduce in detail how to use HTML forms to complete file uploads. 1. HTML form First, we need to use an HTML form to create a file upload page. In the HTML form, the enctype attribute needs to be set to "multipart/form-

How to handle file upload in PHP? How to handle file upload in PHP? May 11, 2023 pm 10:31 PM

With the continuous development of Internet technology, the file upload function has become an essential part of many websites. In the PHP language, we can handle file uploads through some class libraries and functions. This article will focus on the file upload processing method in PHP. 1. Form settings In the HTML form, we need to set the enctype attribute to "multipart/form-data" to support file upload. The code is as follows: &lt;formaction="upload.

Tips for handling PHP file upload encoding errors and generating corresponding error prompts Tips for handling PHP file upload encoding errors and generating corresponding error prompts Aug 06, 2023 am 09:51 AM

Tips for handling PHP file upload encoding errors and generating corresponding error prompts. File upload is a very common requirement when developing web applications. When processing PHP file uploads, we often encounter encoding errors. This article will introduce some techniques for handling PHP file upload encoding errors and generating corresponding error prompts. In PHP, file uploads are accessed through the $_FILES global variable. You can obtain the name, size, temporary file path and other information of the uploaded file through $_FILES

PHP file upload security guide: How to use the $_FILES array to obtain uploaded file information PHP file upload security guide: How to use the $_FILES array to obtain uploaded file information Jul 30, 2023 pm 06:53 PM

PHP file upload security guide: How to use the $_FILES array to obtain uploaded file information Summary: File upload is one of the common functions in web development. However, incorrect file upload implementation can lead to security vulnerabilities, bringing potential risks to the application. This article will introduce how to use PHP's $_FILES array to safely obtain uploaded file information, and combine it with some code examples to help readers better understand. To set appropriate file upload limits in PHP, we can use the php.ini file to

How to use PHP to develop file upload and download modules in CMS How to use PHP to develop file upload and download modules in CMS Jun 21, 2023 pm 12:13 PM

With the continuous development of the Internet, more and more websites require file upload and download functions. As an open source server-side scripting language, PHP has a wide range of application scenarios and industry recognition. CMS (Content Management System) is one of our common website types. This article will discuss how to use PHP to develop the file upload and download modules in CMS. 1. File upload module 1. Basic principle of uploading files The basic principle of file upload is to transfer files from the client

How to write a simple file upload and download function via PHP How to write a simple file upload and download function via PHP Sep 24, 2023 am 08:12 AM

How to write a simple file upload and download function through PHP. With the development of Internet technology, file upload and download functions have become one of the necessary functions for many websites. By writing a simple file upload and download function, users can easily upload and download files and improve user experience. This article will introduce how to use PHP to write a simple file upload and download function, and provide specific code examples. 1. Implementation of the file upload function. Create a form. First, create a form on the HTML page for users to upload files.

PHP file upload methods and summary of frequently asked questions PHP file upload methods and summary of frequently asked questions Jun 08, 2023 pm 09:27 PM

Summary of PHP file upload methods and frequently asked questions File upload is one of the common functions in web development and can be used for users to upload avatars, files, etc. PHP provides a convenient file upload processing method. This article will introduce the PHP file upload method and a summary of common problems in detail. 1. PHP file upload method HTML form To implement file upload, you need to use an HTML form, in which the enctype attribute needs to be set to "multipart/form-data", so that the browser

See all articles