Maison > Article > développement back-end > Explication détaillée des exemples de fonctions pour télécharger des fichiers en PHP
Cet article présente principalement les exemples détaillés de fonctions des fichiers de téléchargement PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Code de fonction PHP pour terminer le téléchargement des fichiers via les fonctions
function download($url, $filename) { // 获得文件大小, 防止超过2G的文件, 用sprintf来读 $filesize = sprintf ( "%u", filesize ( $url ) ); if (! $filesize) { return; } header ( "Content-type:application/octet-stream\n" ); //application/octet-stream header ( "Content-type:unknown/unknown;" ); header ( "Content-disposition: attachment; filename=\"" . $filename . "\"" ); header ( 'Content-transfer-encoding: binary' ); if ($range = getenv ( 'HTTP_RANGE' )) { // 当有偏移量的时候,采用206的断点续传头 $range = explode ( '=', $range ); $range = $range [1]; header ( "HTTP/1.1 206 Partial Content" ); header ( "Date: " . gmdate ( "D, d M Y H:i:s" ) . " GMT" ); header ( "Last-Modified: " . gmdate ( "D, d M Y H:i:s", filemtime ( $url ) ) . " GMT" ); header ( "Accept-Ranges: bytes" ); header ( "Content-Length:" . ($filesize - $range) ); header ( "Content-Range: bytes " . $range . ($filesize - 1) . "/" . $filesize ); header ( "Connection: close" . "\n\n" ); else { header ( "Content-Length:" . $filesize . "\n\n" ); $range = 0; } loadFile ( $url );} function loadFile($filename, $retbytes = true) { $buffer = ''; $cnt = 0; $handle = fopen ( $filename, 'rb' ); if ($handle === false) { return false; } while ( ! feof ( $handle ) ) { $buffer = fread ( $handle, 1024 * 1024 ); echo $buffer; ob_flush (); flush (); if ($retbytes) { $cnt += strlen ( $buffer ); } } $status = fclose ( $handle ); if ($retbytes && $status) { return $cnt; // return num. bytes delivered like readfile() does. } return $status;}
Entrez 2 paramètres pour terminer le téléchargement($url, $filename)
Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.
Recommandations associées :
Exemple d'outil d'indexation d'analyse d'annuaire de sites Web basé sur PHP
Tutoriel d'introduction PHP partage d'exemples de fichiers de téléchargement
Analyse d'un exemple d'algorithme de recherche PHP à moitié (bisection)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!