PHP에서 생성된 잘못된 파일 이름에 대한 해결 방법: 1. 모든 + 기호를 "%20"으로 바꿉니다. 2. "header("Content-type: application/vnd.ms-excel");"을 추가합니다. "filename=xxx" 양쪽에 공백이 있습니다.
이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
잘못된 PHP 내보내기 파일 이름에 대한 해결 방법
문제 시나리오:
통계 데이터에 모든 곳에서 Excel 기능이 제공되므로 작곡가를 사용하여 phpspreadsheet 구성 요소를 설치하고 데이터 처리 및 내보내기를 수행합니다. ASCII 이름의 파일 이름이 나타나면 모든 것이 정상적으로 내보내지지만 중국어 파일 이름이 나타나면 내보낸 파일 이름이 깨집니다.
해결책은 여기에 직접 게시됩니다:
1. 파일 이름 처리
PHP의 urlencode 기능은 다양한 공백 문자를 + 기호로 변환하기 때문에 이 + 기호는 Chrome이든 Firefox이든 동일합니다. 이스케이프되세요
여기서 모든 + 기호를 다시 %20으로 바꾸세요
$file_name = '导出文件.xls'; // 这是原本要导出的文件名 $encoded_filename = url_encode($file_name);// 将文件名进行urlencode转码 $encoded_filename = str_replace('+', '%20', $encoded_filename);
2. 헤더 파일: 파일 유형 선언
내보낸 파일이 특정 엑셀 유형이 아닌 경우 파일 헤더 1번
I을 사용하세요. 엑셀에서 xls 형식으로 테이블을 내보냈기 때문에 파일 헤더 2번
// 文件头No.1: 告诉浏览器这里要有一个文件流输出 header("Content-type: application/octet-stream"); // 文件头No.2: 告诉浏览器这里要输出一个excel文件 header("Content-type: application/vnd.ms-excel");
을 사용했습니다. 헤더 파일: 파일 이름 설명을 다운로드하세요
이 단계가 핵심입니다. 주의할 점 두 가지
파일 이름인지 여부= xxx 또는 파일 이름*=xxx, 등호
파일 이름*=xxx 양쪽에 공백이 없어야 합니다. 이 구성 항목은 실제로 문자 집합(utf8), 언어(비어 있음) 및 Urlencoded 파일 이름의 세 부분으로 구성됩니다. , 여기서 언어는 작은따옴표로 묶인 빈 문자열이며 세 부분 사이에 공백이 있어서는 안 됩니다.
header('Content-Disposition: attachment; filename="foo-%c3%a4.xls"; filename*=UTF-8\'\'foo-%c3%a4.xls');
위 코드를 사용하여 각각 Chrome, Firefox, 360, ie11을 사용하여 테스트했습니다. 모든 테스트가 잘 작동했습니다. 그것이 당신에게도 도움이 되기를 바랍니다.
【추천 학습: PHP 비디오 튜토리얼】
위 내용은 PHP에서 생성된 잘못된 파일 이름 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

이 기사는 산 및 기본 데이터베이스 모델을 비교하여 특성과 적절한 사용 사례를 자세히 설명합니다. 산은 금융 및 전자 상거래 애플리케이션에 적합한 데이터 무결성 및 일관성을 우선시하는 반면 Base는 가용성 및

이 기사는 코드 주입과 같은 취약점을 방지하기 위해 PHP 파일 업로드 보안에 대해 설명합니다. 파일 유형 유효성 검증, 보안 저장 및 오류 처리에 중점을 두어 응용 프로그램 보안을 향상시킵니다.

기사는 내장 함수 사용, 화이트리스트 접근 방식 및 서버 측 유효성 검사와 같은 기술에 중점을 둔 보안을 향상시키기 위해 PHP 입력 유효성 검증에 대한 모범 사례를 논의합니다.

이 기사는 토큰 버킷 및 누출 된 버킷과 같은 알고리즘을 포함하여 PHP에서 API 요율 제한을 구현하고 Symfony/Rate-Limiter와 같은 라이브러리 사용 전략에 대해 설명합니다. 또한 모니터링, 동적 조정 요율 제한 및 손도 다룹니다.

이 기사에서는 PHP에서 암호를 보호하기 위해 PHP에서 Password_hash 및 Password_Verify 사용의 이점에 대해 설명합니다. 주요 주장은 이러한 기능이 자동 소금 생성, 강한 해싱 알고리즘 및 Secur를 통해 암호 보호를 향상 시킨다는 것입니다.

이 기사는 PHP 및 완화 전략의 OWASP Top 10 취약점에 대해 설명합니다. 주요 문제에는 PHP 응용 프로그램을 모니터링하고 보호하기위한 권장 도구가 포함 된 주입, 인증 파손 및 XSS가 포함됩니다.

이 기사는 PHP의 XSS 공격을 방지하기위한 전략, 입력 소독, 출력 인코딩 및 보안 향상 라이브러리 및 프레임 워크 사용에 중점을 둔 전략에 대해 설명합니다.

이 기사는 각각의 사용시기에 중점을 둔 PHP의 인터페이스 및 추상 클래스 사용에 대해 설명합니다. 인터페이스는 관련없는 클래스 및 다중 상속에 적합한 구현없이 계약을 정의합니다. 초록 클래스는 일반적인 기능을 제공합니다


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.
