Maison >développement back-end >Problème PHP >Que dois-je faire si le téléchargement du fichier php indique que le fichier est introuvable ?
Solution au problème selon lequel le téléchargement du fichier PHP indique que le fichier est introuvable : ouvrez d'abord le fichier de code de téléchargement correspondant ; puis obtenez l'encodage des caractères depuis le navigateur, puis utilisez la fonction "mb_convert_encoding" pour convertir le fichier ; encodage ; utilisez enfin "file_exists" Téléchargez simplement le fichier d'implémentation de la fonction.
Recommandé : "Tutoriel vidéo PHP"
Téléchargement de fichiers php et solution pour file_exists ne trouvant pas le fichier
Lien : 7d8751be63002cae46a2f36bd0c3841dCliquez pour télécharger5db79b134e9f6b82c0b36e0489ee08ed
Parmi eux, php :
<?php $filename = $_GET['filename']; //从浏览器获取到的字符的编码是UTF-8,我们要用这个函数转换成GBK才能才本地找到这个文件 $filename = mb_convert_encoding($filename,'GBK','UTF-8'); echo $filename ."<br>"; if( empty($filename)){ echo'<script> alert("非法连接 !"); location.replace ("index.php") </script>'; exit(); } if (!file_exists($filename)) { //检查文件是否存在 echo "文件找不到"; exit; } else { $file = fopen($filename,"r"); // 打开文件 // 输入文件标签 Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); Header("Accept-Length: ".filesize($filename)); Header("Content-Disposition: attachment; filename=" . $filename); // 输出文件内容 echo fread($file,filesize($filename)); fclose($file); exit(); } ?>
Résumé : Si l'adresse du fichier transmise par le navigateur n'est pas transcodée (de UTF-8 à GBK), alors la fonction file_exists ne trouvera pas le fichier avec un nom chinois.
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!