Php application development-file download details

Source: Internet
Author: User
Tags php download
Php application development-file download details
This article introduces some code for downloading files using php. For more information, see.

1. the php download function uses the header () and readfile () functions to download files.

     

2. php user-defined functions downloaded by php with a more complete php file download script.

      'download/tool1_v30.exe',         'PROG2' => 'download/prog2setup.exe',         );     // Get/check download file name     if (empty($fileid) || empty($DLFILES[$fileid]))     {         return '';     }     // Set base directory to document root directory     // (could also be set to a directory outside document root!)     $basedir = getGlobalVar('DOCUMENT_ROOT');     // Build and return download file name     return $basedir.'/'.$DLFILES[$fileid]; } function DownloadFile($filename) // Download file // Returns: TRUE if download successfully started, FALSE if download failed // Parameters: //    $filename : Download file pathname {     // Verify filename     if (empty($filename) || !file_exists($filename))     {         return FALSE;     }     // Create download file name to be displayed to user     $saveasname = basename($filename);     // Send binary filetype HTTP header     header('Content-Type: application/octet-stream');     // Send content-length HTTP header     header('Content-Length: '.filesize($filename));     // Send content-disposition with save file name HTTP header     header('Content-Disposition: attachment; filename="'.$saveasname.'"');     // Output file     readfile($filename);     // Download successfully started     return TRUE; } function getGlobalVar($g, $formflag = 0) // Get global PHP variable value // Returns: global variable value or empty string if not available // Parameters: //  $g        : Global PHP variable name //  $formflag : Flag - global var from GET/POST input {     if (empty($g))     {         return 0;     }     // Try superglobal access (PHP 4.1.0+)     if ($formflag)     {         if (isset($_POST[$g]))         {             return $_POST[$g];         }         if (isset($_GET[$g]))         {             return $_GET[$g];         }         if (isset($_REQUEST[$g]))         {             return $_REQUEST[$g];         }     }     else     {         if (isset($_SERVER[$g]))         {             return $_SERVER[$g];         }         if (isset($_ENV[$g]))         {             return $_ENV[$g];         }     }     // Try superglobal access (PHP 3.0.0+)     if (isset($GLOBALS[$g]))     {         return $GLOBALS[$g];     }     // Try global variable access (PHP 3+)     global $$g;     if (!empty($$g))     {         return $$g;     }     // Assume global variable empty/not set     return ''; } ?>

Save the preceding script as dl. php and input the id parameter during the application.

For example, Download Program 2 can also be implemented through the php redirection statement Location, for example:

     

The above code can prevent users from directly accessing and downloading files, which provides certain file protection and even anti-Leech functions.

The following code can be used to provide more secure file downloads based on http header information.

Code:

      
      

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.