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 ?

Que dois-je faire si le téléchargement du fichier php indique que le fichier est introuvable ?

藏色散人
藏色散人original
2020-08-27 09:58:012350parcourir

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.

Que dois-je faire si le téléchargement du fichier php indique que le fichier est introuvable ?

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[&#39;filename&#39;];
//从浏览器获取到的字符的编码是UTF-8,我们要用这个函数转换成GBK才能才本地找到这个文件
$filename = mb_convert_encoding($filename,&#39;GBK&#39;,&#39;UTF-8&#39;);
echo $filename ."<br>";
if( empty($filename)){
    echo&#39;<script> alert("非法连接 !"); location.replace ("index.php") </script>&#39;; 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn