linux - PHP 처리 이미지 다운로드 오류
1 사용자가 웹사이트에서 QR 코드 다운로드 링크를 클릭하면 서버는 WeChat에서 생성된 QR 코드를 획득하여 사용자의 컴퓨터에 다운로드합니다.
동일한 코드 테스트 기계에서는 문제가 없지만 온라인 이미지에서는 불가능합니다.
코드는 다음과 같습니다
<code> public function download(){ $url = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=xxxxxxxxxx"; $tmp = file_get_contents($url); $file_name = "weixin.jpg"; // 输入文件标签 Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); Header("Accept-Length: ".strlen($tmp)); Header("Content-Disposition: attachment; filename=" . $file_name); // 输出文件内容 echo $tmp; exit(); }</code>
기본적으로 다양한 환경에 의해 발생하는 것으로 판단됩니다.
이미지를 다운로드하기 위해 이러한 코드 줄에 대한 서버 구성 또는 설치된 소프트웨어에 대한 요구 사항이 있습니까?
동일한 코드를 사용하면 다운로드한 이미지를 테스트 머신에서 열 수 있지만 온라인 머신에서는 열 수 없습니다
---------구분선----------------------
검사 결과, 온라인에서 참조되는 다른 클래스의 출력에 빈 줄이 있는 것으로 나타났습니다(BOM 헤더일 수도 있고, PHP 코드의 닫는 문자일 수도 있습니까?> 그리고 그 뒤에 빈 줄이 있음). 헤더 앞에 출력이 되고 이미지를 인쇄할 수 없습니다. 네, 파일이 너무 많아서 찾기가 정말 어렵습니다.
다음 코드를 추가하면 문제가 해결됩니다.
<code>//清除之前的输出,确保图片完整。 ob_start(); ob_end_flush(); ob_end_clean();</code>
답글 내용:
1 사용자가 웹사이트에서 QR 코드 다운로드 링크를 클릭하면 서버는 WeChat에서 생성된 QR 코드를 획득하여 사용자의 컴퓨터에 다운로드합니다.
동일한 코드 테스트 기계에서는 문제가 없지만 온라인 이미지에서는 불가능합니다.
코드는 다음과 같습니다
<code> public function download(){ $url = "https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=xxxxxxxxxx"; $tmp = file_get_contents($url); $file_name = "weixin.jpg"; // 输入文件标签 Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); Header("Accept-Length: ".strlen($tmp)); Header("Content-Disposition: attachment; filename=" . $file_name); // 输出文件内容 echo $tmp; exit(); }</code>
기본적으로 다양한 환경에 의해 발생하는 것으로 판단됩니다.
이미지를 다운로드하기 위해 이러한 코드 줄에 대한 서버 구성 또는 설치된 소프트웨어에 대한 요구 사항이 있습니까?
동일한 코드를 사용하면 다운로드한 이미지를 테스트 머신에서 열 수 있지만 온라인 머신에서는 열 수 없습니다
---------구분선----------------------
검사 결과, 온라인에서 참조되는 다른 클래스의 출력에 빈 줄이 있는 것으로 나타났습니다(BOM 헤더일 수도 있고, PHP 코드의 닫는 문자일 수도 있습니까?> 그리고 그 뒤에 빈 줄이 있음). 헤더 앞에 출력이 되고 이미지를 인쇄할 수 없습니다. 네, 파일이 너무 많아서 찾기가 정말 어렵습니다.
다음 코드를 추가하면 문제가 해결됩니다.
<code>//清除之前的输出,确保图片完整。 ob_start(); ob_end_flush(); ob_end_clean();</code>
이 문제가 발생했습니다. file_get_contents
에 오류가 있는 것 같아요. 귀하의 URL은 https이며, URL을 가져올 때 file_get_contents
이 중단됩니다. file_get_contents
대신 컬을 사용하면 문제가 해결됩니다.
(curl에는 프로그램이 https에 정상적으로 접근할 수 있게 해주는 SSL 설정이 2개 있습니다. 그런데 다들 알아두셔야 할 내용입니다)
<code> Header("Accept-Length: ".strlen($tmp)); 不定义这个试试</code>
strlen
0
을 만나면 문자열의 끝에 도달한 것으로 간주하고 0
가 그림 중간에 나타날 수 있으므로 데이터의 일부만 사진을 얻었으나 당연히 열 수 없습니다.
예를 들어
<code>$hex='3332310033323131313131313131313131313131313131313131313131313131313131313131313131' //结果是321,即0后面的都无效。</code>

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

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

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

PHP는 동적 웹 개발 및 서버 측 응용 프로그램에 사용되는 서버 측 스크립팅 언어입니다. 1.PHP는 편집이 필요하지 않으며 빠른 발전에 적합한 해석 된 언어입니다. 2. PHP 코드는 HTML에 포함되어 웹 페이지를 쉽게 개발할 수 있습니다. 3. PHP는 서버 측 로직을 처리하고 HTML 출력을 생성하며 사용자 상호 작용 및 데이터 처리를 지원합니다. 4. PHP는 데이터베이스와 상호 작용하고 프로세스 양식 제출 및 서버 측 작업을 실행할 수 있습니다.

PHP는 웹 개발 및 빠른 프로토 타이핑에 적합하며 Python은 데이터 과학 및 기계 학습에 적합합니다. 1.PHP는 간단한 구문과 함께 동적 웹 개발에 사용되며 빠른 개발에 적합합니다. 2. Python은 간결한 구문을 가지고 있으며 여러 분야에 적합하며 강력한 라이브러리 생태계가 있습니다.

PHP는 웹 개발 및 컨텐츠 관리 시스템에 적합하며 Python은 데이터 과학, 기계 학습 및 자동화 스크립트에 적합합니다. 1.PHP는 빠르고 확장 가능한 웹 사이트 및 응용 프로그램을 구축하는 데 잘 작동하며 WordPress와 같은 CMS에서 일반적으로 사용됩니다. 2. Python은 Numpy 및 Tensorflow와 같은 풍부한 라이브러리를 통해 데이터 과학 및 기계 학습 분야에서 뛰어난 공연을했습니다.

PHP의 핵심 이점에는 학습 용이성, 강력한 웹 개발 지원, 풍부한 라이브러리 및 프레임 워크, 고성능 및 확장 성, 크로스 플랫폼 호환성 및 비용 효율성이 포함됩니다. 1) 배우고 사용하기 쉽고 초보자에게 적합합니다. 2) 웹 서버와 우수한 통합 및 여러 데이터베이스를 지원합니다. 3) Laravel과 같은 강력한 프레임 워크가 있습니다. 4) 최적화를 통해 고성능을 달성 할 수 있습니다. 5) 여러 운영 체제 지원; 6) 개발 비용을 줄이기위한 오픈 소스.

phphassignificallyimpactedwebdevelopmentandextendsbeyondit

PHP는 1994 년에 시작되었으며 Rasmuslerdorf에 의해 개발되었습니다. 원래 웹 사이트 방문자를 추적하는 데 사용되었으며 점차 서버 측 스크립팅 언어로 진화했으며 웹 개발에 널리 사용되었습니다. Python은 1980 년대 후반 Guidovan Rossum에 의해 개발되었으며 1991 년에 처음 출시되었습니다. 코드 가독성과 단순성을 강조하며 과학 컴퓨팅, 데이터 분석 및 기타 분야에 적합합니다.

PHP는 지난 수십 년 동안 네트워크를 형성했으며 웹 개발에서 계속 중요한 역할을 할 것입니다. 1) PHP는 1994 년에 시작되었으며 MySQL과의 원활한 통합으로 인해 개발자에게 최초의 선택이되었습니다. 2) 핵심 기능에는 동적 컨텐츠 생성 및 데이터베이스와의 통합이 포함되며 웹 사이트를 실시간으로 업데이트하고 맞춤형 방식으로 표시 할 수 있습니다. 3) PHP의 광범위한 응용 및 생태계는 장기적인 영향을 미쳤지 만 버전 업데이트 및 보안 문제에 직면 해 있습니다. 4) PHP7의 출시와 같은 최근 몇 년간의 성능 향상을 통해 현대 언어와 경쟁 할 수 있습니다. 5) 앞으로 PHP는 컨테이너화 및 마이크로 서비스와 같은 새로운 도전을 다루어야하지만 유연성과 활발한 커뮤니티로 인해 적응력이 있습니다.
