>  기사  >  백엔드 개발  >  PHP 파일 다운로드 시 파일을 찾을 수 없다고 표시되면 어떻게 해야 합니까?

PHP 파일 다운로드 시 파일을 찾을 수 없다고 표시되면 어떻게 해야 합니까?

藏色散人
藏色散人원래의
2020-08-27 09:58:012324검색

PHP 파일을 다운로드할 때 파일을 찾을 수 없는 문제에 대한 해결 방법: 먼저 해당 다운로드 코드 파일을 연 다음 브라우저에서 문자 인코딩을 얻은 다음 "mb_convert_encoding" 기능을 사용하여 인코딩을 변환합니다. file_exists" 함수를 사용하여 파일을 다운로드합니다.

PHP 파일 다운로드 시 파일을 찾을 수 없다고 표시되면 어떻게 해야 합니까?

권장: "PHP 비디오 튜토리얼"

php 파일 다운로드 및 파일을 찾을 수 없는 file_exists에 대한 솔루션

링크: 37f6d59b77666f9bb667498df9e6481c다운로드하려면 클릭하세요5db79b134e9f6b82c0b36e0489ee08ed

where 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.