Home Backend Development PHP Problem How to download a file and modify its name using PHP

How to download a file and modify its name using PHP

Apr 11, 2023 am 10:41 AM

PHP is a server-side programming language that provides many convenient functions to operate files. In web applications, sometimes you need to download a file and save it to the user's device. In some cases, users may wish to rename downloaded files for easier management and identification. In this article, we will explore how to download a file and modify its name using PHP.

File Download

In PHP, you can download any type of file using a special function called "header". When using the header function, you must ensure that nothing is produced before any output. In addition, a correct Content-Disposition header needs to be set to instruct the browser to download the file. The following is a sample code for downloading a file using PHP:

<?php
$file_url = &#39;http://example.com/file.pdf&#39;;
header(&#39;Content-Type: application/octet-stream&#39;);
header("Content-Transfer-Encoding: Binary"); 
header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\""); 
readfile($file_url);
?>
Copy after login

The above code will download a PDF file named "file.pdf". To download different types of files, you can change the Content-Type. For example, for image files, you can use Content-Type: image/jpeg or Content-Type: image/png.

This code uses the readfile function to download the file to the user device. When dealing with larger files, it is recommended to use more efficient methods, such as reading the file block by block and outputting the data.

File Renaming

To download a file and rename it, you can add some code to modify the filename in the Content-Disposition header. Typically, the Content-Disposition header specifies the original name of the downloaded file. Here is a code example:

<?php
$file_url = &#39;http://example.com/file.pdf&#39;;
header(&#39;Content-Type: application/octet-stream&#39;);
header("Content-Transfer-Encoding: Binary"); 
header("Content-disposition: attachment; filename=\"new_name.pdf\"");
readfile($file_url);
?>
Copy after login

You can replace "new_name.pdf" with any file name you want. This will ensure that the new filename is used when downloading the file, rather than the original filename.

If you want to dynamically generate file names, you can use some functions in PHP. For example, you can add the current date/time to the file name:

<?php
$file_url = &#39;http://example.com/file.pdf&#39;;
$date = date("Y-m-d");
$new_filename = $date . "_new_file.pdf";
header(&#39;Content-Type: application/octet-stream&#39;);
header("Content-Transfer-Encoding: Binary"); 
header("Content-disposition: attachment; filename=\"$new_filename\"");
readfile($file_url);
?>
Copy after login

In the above example, the code adds the current date to the file name so that the downloaded file name looks like "2022-01-01_new_file .pdf".

Conclusion

PHP provides many features to web application developers to handle files. Downloading files is one of the common requirements in web applications and can be easily achieved using features in PHP. By setting the Content-Disposition header, you can control the downloaded file name. In this article, we show you how to download a file and change the file name, hope it helps.

The above is the detailed content of How to download a file and modify its name using 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

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

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 8 JIT (Just-In-Time) Compilation: How it improves performance. PHP 8 JIT (Just-In-Time) Compilation: How it improves performance. Mar 25, 2025 am 10:37 AM

PHP 8's JIT compilation enhances performance by compiling frequently executed code into machine code, benefiting applications with heavy computations and reducing execution times.

OWASP Top 10 PHP: Describe and mitigate common vulnerabilities. OWASP Top 10 PHP: Describe and mitigate common vulnerabilities. Mar 26, 2025 pm 04:13 PM

The article discusses OWASP Top 10 vulnerabilities in PHP and mitigation strategies. Key issues include injection, broken authentication, and XSS, with recommended tools for monitoring and securing PHP applications.

PHP Secure File Uploads: Preventing file-related vulnerabilities. PHP Secure File Uploads: Preventing file-related vulnerabilities. Mar 26, 2025 pm 04:18 PM

The article discusses securing PHP file uploads to prevent vulnerabilities like code injection. It focuses on file type validation, secure storage, and error handling to enhance application security.

PHP Encryption: Symmetric vs. asymmetric encryption. PHP Encryption: Symmetric vs. asymmetric encryption. Mar 25, 2025 pm 03:12 PM

The article discusses symmetric and asymmetric encryption in PHP, comparing their suitability, performance, and security differences. Symmetric encryption is faster and suited for bulk data, while asymmetric is used for secure key exchange.

How do you retrieve data from a database using PHP? How do you retrieve data from a database using PHP? Mar 20, 2025 pm 04:57 PM

Article discusses retrieving data from databases using PHP, covering steps, security measures, optimization techniques, and common errors with solutions.Character count: 159

PHP Authentication & Authorization: Secure implementation. PHP Authentication & Authorization: Secure implementation. Mar 25, 2025 pm 03:06 PM

The article discusses implementing robust authentication and authorization in PHP to prevent unauthorized access, detailing best practices and recommending security-enhancing tools.

What is the purpose of prepared statements in PHP? What is the purpose of prepared statements in PHP? Mar 20, 2025 pm 04:47 PM

Prepared statements in PHP enhance database security and efficiency by preventing SQL injection and improving query performance through compilation and reuse.Character count: 159

What is the purpose of mysqli_query() and mysqli_fetch_assoc()? What is the purpose of mysqli_query() and mysqli_fetch_assoc()? Mar 20, 2025 pm 04:55 PM

The article discusses the mysqli_query() and mysqli_fetch_assoc() functions in PHP for MySQL database interactions. It explains their roles, differences, and provides a practical example of their use. The main argument focuses on the benefits of usin

See all articles