원격 사진을 저장 한 후 PHP를 열 수없는 이유는 무엇입니까? 그것을 해결하는 방법?
PHP 원격 사진 저장 실패에 대한 일반적인 이유와 솔루션
PHP를 사용하여 원격 사진을 저장할 때는 종종 성공적인 다운로드 문제가 발생하지만 이미지를 열 수 없습니다. 이 기사는 코드 예제를 사용하여 문제의 근본 원인을 분석하고 효과적인 솔루션을 제공합니다.
문제 설명 :
다음 코드는 원격 이미지를 저장하려고 시도하지만 저장된 파일은 정상적으로 표시 될 수 없습니다.
$ url = 'https://img.alicdn.com/i3/85764793/o1cn0128vx5s1lhfa4aj2ym_! !85764793.jpg'; file_put_contents ( 'aaa.jpg', $ url);
문제의 원인 :
위 코드의 문제점은 file_put_contents('aaa.jpg', $url)
가 이미지의 이진 데이터가 아닌 이미지 URL 문자열을 파일에 직접 씁니다. 따라서 aaa.jpg
열면 실제로 URL 주소가 포함 된 텍스트 파일이 열립니다.
해결책:
올바른 방법은 먼저 file_get_contents()
함수를 사용하여 원격 사진의 이진 데이터를 얻은 다음 file_put_contents()
함수를 사용하여 로컬 파일에 저장하는 것입니다.
php $ url = 'https://img.alicdn.com/i3/85764793/o1cn0128vx5s1lhfa4aj2ym_! !85764793.jpg'; $ imageata = file_get_contents ($ url); if ($ imagedata! == false) { file_put_contents ( 'aaa.jpg', $ imagedata); 에코 "사진이 성공적으로 저장되었습니다!"; } 또 다른 { 에코 "이미지 저장 실패!"; } ?>
이 코드는 먼저 file_get_contents($url)
사용하여 원격 이미지의 데이터를 얻습니다. 획득이 성공하면 ( $imageData !== false
) 데이터는 로컬 파일 aaa.jpg
에 기록됩니다. 이미지 데이터에 실패하면 오류 처리가 추가되면 오류 메시지가 출력됩니다. 이를 통해 이미지의 이진 데이터가 URL 문자열이 아닌 저장되므로 이미지를 열 수없는 문제를 해결합니다.
위의 방법을 통해 PHP가 원격 사진을 저장하지 못하는 문제를 효과적으로 피하고 사진을 정상적으로 표시 할 수 있는지 확인할 수 있습니다.
위 내용은 원격 사진을 저장 한 후 PHP를 열 수없는 이유는 무엇입니까? 그것을 해결하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 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)

가상 통화 가격 상승의 요인은 다음과 같습니다. 1. 시장 수요 증가, 2. 공급 감소, 3. 긍정적 인 뉴스, 4. 낙관적 시장 감정, 5. 거시 경제 환경; 감소 요인에는 다음이 포함됩니다. 1. 시장 수요 감소, 2. 공급 증가, 3. 부정적인 뉴스의 파업, 4. 비관적 시장 감정, 5. 거시 경제 환경.

MySQL에서는 altertabletable_nameaddcolumnnew_columnvarchar (255) 이후에 필드를 추가하여 altertabletable_namedropcolumncolumn_to_drop을 사용하여 필드를 삭제합니다. 필드를 추가 할 때는 쿼리 성능 및 데이터 구조를 최적화하기위한 위치를 지정해야합니다. 필드를 삭제하기 전에 작업이 돌이킬 수 없는지 확인해야합니다. 온라인 DDL, 백업 데이터, 테스트 환경 및 저하 기간을 사용하여 테이블 구조 수정은 성능 최적화 및 모범 사례입니다.

Laravel과 YII의 주요 차이점은 설계 개념, 기능적 특성 및 사용 시나리오입니다. 1. Laravel은 개발의 단순성과 즐거움에 중점을두고 Eloquentorm 및 Artisan 도구와 같은 풍부한 기능을 제공하며 빠른 개발 및 초보자에게 적합합니다. 2.YII는 성능과 효율성을 강조하고, 고 부하 애플리케이션에 적합하며, 효율적인 Activerecord 및 캐시 시스템을 제공하지만 가파른 학습 곡선이 있습니다.

참깨 Open Door Web3 등록 포털은 공식 웹 사이트 홈페이지의 "등록"버튼에 있습니다. 등록 단계에는 다음이 포함됩니다. 1. 공식 웹 사이트를 방문하십시오. 2. "등록"버튼을 클릭하십시오.

C는 고성능 및 저수준 제어 기능으로 인해 센서 데이터를 처리하는 데 적합합니다. 특정 단계에는 다음이 포함됩니다. 1. 데이터 수집 : 하드웨어 인터페이스를 통해 데이터를 얻습니다. 2. 데이터 분석 : 원래 데이터를 사용 가능한 정보로 변환합니다. 3. 데이터 처리 : 필터링 및 평활 처리 처리. 4. 데이터 저장 : 데이터를 파일 또는 데이터베이스에 저장합니다. 5. 실시간 처리 : 코드의 효율적이고 낮은 대기 시간을 보장합니다.

Uniswap 사용자는 유동성 풀에서 지갑으로 토큰을 인출하여 자산 보안 및 유동성을 보장 할 수 있습니다. 이 프로세스에는 가스 수수료가 필요하며 네트워크 혼잡의 영향을받습니다.

CONCORDIUM : 개인 정보 및 규정 준수를 고려한 공개 1 단계 블록 체인 플랫폼은 공개 1 단계 블록 체인 플랫폼입니다. 그것의 핵심은 개인 정보 및 규제 준수와 신원 확인을 영리하게 통합하는 데 있습니다. 2018 년 Lars Seier Christensen이 설립 한 플랫폼의 핵심 기술은 각 트랜잭션의 프로토콜 수준에 암호화 신원을 포함합니다. 이 독특한 디자인은 사용자 개인 정보를 보호하면서 책임 추적 성을 보장하고 블록 체인 필드의 익명 성과 규제 요구 사항 사이의 충돌 문제를 효과적으로 해결합니다. 이 문제를 완화하기 위해 Concordium은 제로 지식 증명 (ZKP) 기술을 사용하여 사용자가 불필요한 개인 정보를 공개 할 필요없이 특정 ID 속성을 확인할 수 있습니다. 이것은 모든 것을 의미합니다

C에서 느슨한 커플 링 설계를 구현하려면 다음 방법을 사용할 수 있습니다. 1. Logger 인터페이스 정의 및 Filelogger 및 Consolelogger 구현과 같은 인터페이스 사용; 2. DataAccess 클래스와 같은 종속성 주입은 생성자를 통해 데이터베이스 포인터를 수신합니다. 3. 주제 클래스와 같은 관찰자 패턴은 ConcreteObserver 및 OtherObserver를 알립니다. 이러한 기술을 통해 모듈 간의 종속성을 줄이고 코드 유지 관리 및 유연성을 향상시킬 수 있습니다.
