ホームページ >バックエンド開発 >PHPの問題 >php ファイルのダウンロードでファイルが見つからないことが示された場合はどうすればよいですか?

php ファイルのダウンロードでファイルが見つからないことが示された場合はどうすればよいですか?

藏色散人
藏色散人オリジナル
2020-08-27 09:58:012355ブラウズ

php ファイルのダウンロードでファイルが見つからないという問題の解決策: まず、対応するダウンロード コード ファイルを開き、ブラウザから文字エンコーディングを取得し、「mb_convert_encoding」関数を使用して変換します。エンコーディング; 最後に「file_exists」を使用します 関数実装ファイルをダウンロードするだけです。

php ファイルのダウンロードでファイルが見つからないことが示された場合はどうすればよいですか?

推奨事項: 「PHP ビデオ チュートリアル

php ファイルのダウンロードと file_exists がファイルを見つけられない場合の解決策

Link:7d8751be63002cae46a2f36bd0c3841dクリックしてダウンロード5db79b134e9f6b82c0b36e0489ee08ed

その中には、 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();
}
?>

概要: ブラウザによって渡されたファイル アドレスがトランスコードされていない場合 (UTF-8 から GBK に)、file_exists 関数は中国語名のファイルを見つけることができません。

以上がphp ファイルのダウンロードでファイルが見つからないことが示された場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。