Maison > Article > développement back-end > Comment enregistrer les fichiers téléchargés en php
Comment enregistrer les fichiers téléchargés en PHP : 1. Téléchargez les fichiers via la méthode "function downfile(){...}" ; 2. Enregistrez et téléchargez via la fonction d'en-tête.
L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3
php Il existe deux façons de télécharger et d'enregistrer des fichiers en local
Le téléchargement ici fait référence à la pop -up boîte d'invite de téléchargement.
La première :
<?php function downfile() { $filename=realpath("resume.html"); //文件名 $date=date("Ymd-H:i:m"); Header( "Content-type: application/octet-stream "); Header( "Accept-Ranges: bytes "); Header( "Accept-Length: " .filesize($filename)); header( "Content-Disposition: attachment; filename= {$date}.doc"); echo file_get_contents($filename); readfile($filename); } downfile(); ?>
ou (Cette méthode est recommandée, elle est réalisable pour des tests personnels, les autres n'ont pas été testées)
<?php function downfile($fileurl) { ob_start(); $filename=$fileurl; $date=date("Ymd-H:i:m"); $size=readfile($filename); header( "Content-type: application/octet-stream "); header( "Accept-Ranges: bytes "); header( "Content-Disposition: attachment; filename= {$date}.doc"); header( "Accept-Length: " .$size); } $url="url地址"; downfile($url); ?>
La seconde :
<?php function downfile($fileurl) { $filename=$fileurl; $file = fopen($filename, "rb"); Header( "Content-type: application/octet-stream "); Header( "Accept-Ranges: bytes "); Header( "Content-Disposition: attachment; filename= 4.doc"); $contents = ""; while (!feof($file)) { $contents .= fread($file, 8192); } echo $contents; fclose($file); } $url="url地址"; downfile($url); ?>
Deux méthodes de téléchargement de fichiers en PHP. Partagez-le pour que les amis qui pourraient le trouver utile puissent y jeter un œil.
Méthode 1 :
<?php /** * 下载文件 * header函数 * */ header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename='.basename($filepath)); header('Content-Transfer-Encoding: binary'); header('Expires: 0′); header('Cache-Control: must-revalidate, post-check=0, pre-check=0′); header('Pragma: public'); header('Content-Length: ' . filesize($filepath)); readfile($file_path); ?>
Comprenez l'utilisation de la fonction d'en-tête en php.
Méthode 2 :
<?php //文件下载 //readfile $fileinfo = pathinfo($filename); header('Content-type: application/x-'.$fileinfo['extension']); header('Content-Disposition: attachment; filename='.$fileinfo['basename']); header('Content-Length: '.filesize($filename)); readfile($thefile); exit(); ?>
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!