>  기사  >  백엔드 개발  >  PHP 다운로드 파일이 열리지 않으면 어떻게 해야 하나요?

PHP 다운로드 파일이 열리지 않으면 어떻게 해야 하나요?

PHPz
PHPz원래의
2020-09-25 14:03:053040검색

열 수 없는 PHP 다운로드 파일에 대한 솔루션: 1. 다운로드 프로세스 중에 파일이 아닌 정보의 출력을 취소합니다. 2. 출력 파일 형식과 접미사 이름을 일관되게 저장합니다.

PHP 다운로드 파일이 열리지 않으면 어떻게 해야 하나요?

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

php를 사용하여 엑셀 파일을 다운로드하세요.

1. 다운로드 과정에서 에코 로그 정보와 같은 파일 이외의 정보를 출력하지 마세요. 그렇지 않으면 다운로드한 파일을 열 수 없어 형식 오류가 발생하거나 파일이 손상됩니다.

2. 출력된 Excel 형식은 접미사 이름으로 저장해야 합니다. 그렇지 않으면 형식 오류가 발생하거나 파일이 손상됩니다.

코드는 다음과 같습니다.

if (file_exists(CACHE_PATH . $file_name)){
            //$this->logger->error('file realpath:'.realpath(CACHE_PATH . $file_name));
      header( 'Pragma: public' );
      header( 'Expires: 0' );
      header( 'Content-Encoding: none' );
      header( 'Cache-Control: must-revalidate, post-check=0, pre-check=0' );
      header( 'Cache-Control: public' );
   header( 'Content-Type: application/vnd.ms-excel'); 
      header( 'Content-Description: File Transfer' );
      header( 'Content-Disposition: attachment; filename=' . $file_name );
      header( 'Content-Transfer-Encoding: binary' );
      header( 'Content-Length: ' . filesize ( CACHE_PATH . $file_name ) );
      readfile ( CACHE_PATH . $file_name );
  } else {
   $this->logger->error('export model :'.$id.' 错误:未生产文件');
      echo &#39;<script>alert(\&#39;export error, file not exists!\&#39;)</script>&#39;;
  }

위 내용은 PHP 다운로드 파일이 열리지 않으면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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