Force download of files in php_PHP tutorial
Since current browsers can already recognize the document format of txt, if you just make a text link to the txt document, it may only open a new window to display the content of the txt file, and the purpose of clicking to download cannot be achieved. We have to do something else.
Of course, the solution to this problem can also be to rename your txt file to a file that the browser does not recognize, such as rar. If you click on it, the browser will not recognize it and will have to let the user download it.
The following file is used to set the format of the document by setting the header to achieve the purpose of click download. Click the file passed from the previous page to download.
$filename = "/somepath/".$_GET[file].".txt"; //The name of the file to be downloaded
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".basename($filename));
readfile($filename);
?>
First: Set the value of Content-Type to application/force-download to force download
Then the second header function sets the file to be downloaded. Note that filename here is a file name that does not include a path, so basename is used to filter out the path name. The value of this filename will be the file name in the dialog box that pops up after clicking download.
The last step is readfile, which outputs the file stream to the browser, thus realizing the download of txt files. Other types are similar.

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



In PHP8, match expressions are a new control structure that returns different results based on the value of the expression. 1) It is similar to a switch statement, but returns a value instead of an execution statement block. 2) The match expression is strictly compared (===), which improves security. 3) It avoids possible break omissions in switch statements and enhances the simplicity and readability of the code.

In PHP, you can effectively prevent CSRF attacks by using unpredictable tokens. Specific methods include: 1. Generate and embed CSRF tokens in the form; 2. Verify the validity of the token when processing the request.

The method of customizing resize symbols in CSS is unified with background colors. In daily development, we often encounter situations where we need to customize user interface details, such as adjusting...

Using locally installed font files in web pages Recently, I downloaded a free font from the internet and successfully installed it into my system. Now...

In PHP, the final keyword is used to prevent classes from being inherited and methods being overwritten. 1) When marking the class as final, the class cannot be inherited. 2) When marking the method as final, the method cannot be rewritten by the subclass. Using final keywords ensures the stability and security of your code.

The... (splat) operator in PHP is used to unpack function parameters and arrays, improving code simplicity and efficiency. 1) Function parameter unpacking: Pass the array element as a parameter to the function. 2) Array unpacking: Unpack an array into another array or as a function parameter.

The problem of container opening due to excessive omission of text under Flex layout and solutions are used...

Strict types in PHP are enabled by adding declare(strict_types=1); at the top of the file. 1) It forces type checking of function parameters and return values to prevent implicit type conversion. 2) Using strict types can improve the reliability and predictability of the code, reduce bugs, and improve maintainability and readability.
