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

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

藏色散人
リリース: 2023-03-05 10:02:01
オリジナル
2356 人が閲覧しました

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

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

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

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

Link:クリックしてダウンロード

その中には、 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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート