> 백엔드 개발 > PHP 문제 > PHP에서 외부 이미지를 얻는 세 가지 방법 소개

PHP에서 외부 이미지를 얻는 세 가지 방법 소개

PHPz
풀어 주다: 2023-03-31 09:32:48
원래의
1466명이 탐색했습니다.

웹사이트 개발 시 웹사이트에 표시할 외부 이미지를 가져와야 하는 경우가 많습니다. PHP를 사용하여 개발할 때 외부 이미지를 얻는 방법은 일반적인 질문입니다. 이 기사에서는 외부 이미지를 얻는 여러 가지 방법을 소개합니다. 모든 사람에게 도움이 되기를 바랍니다.

방법 1: file_get_contents

file_get_contents 함수는 파일 내용을 읽는 데 사용할 수 있는 PHP에 내장된 함수입니다. 첫 번째 매개변수는 얻어올 파일 경로이고, 두 번째 매개변수는 파일의 전체 내용을 문자열로 읽어올 것인지 여부를 나타내는 Boolean 매개변수이다. 이미지를 읽는 경우에도 동일한 원칙이 적용됩니다. 파일 경로를 이미지의 URL 주소로 설정하기만 하면 됩니다. 샘플 코드는 다음과 같습니다.

$url = 'http://example.com/image.jpg'; // 图片 URL 地址
$img = file_get_contents($url);       // 读取图片
file_put_contents('image.jpg', $img); // 将图片保存到本地文件
로그인 후 복사

이 방법은 코드가 적고 간단하고 이해하기 쉽지만 성능이 충분히 효율적이지 않습니다.

방법 2: 컬

curl은 웹 페이지 콘텐츠를 얻는 데 사용할 수 있는 일반적으로 사용되는 네트워크 요청 라이브러리입니다. 사진을 찍는 데에도 사용할 수 있습니다. 코드 예시는 다음과 같습니다.

$url = 'http://example.com/image.jpg'; // 图片 URL 地址
$ch = curl_init();                     // 创建 curl 句柄
curl_setopt($ch, CURLOPT_URL, $url);   // 设置 curl 请求的 URL
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  // 不将 curl 结果直接输出到浏览器
$img = curl_exec($ch);                 // 获取图片内容
curl_close($ch);                       // 关闭 curl 句柄
file_put_contents('image.jpg', $img);  // 将图片保存到本地文件
로그인 후 복사

이 방법은 file_get_contents보다 성능이 높지만 코드의 양이 상대적으로 많습니다.

방법 3: 원격 다운로드 도구

wget 또는 aria2 등과 같은 일부 원격 다운로드 도구를 사용할 수도 있습니다. 이러한 도구는 명령줄을 통해 지정된 이미지를 다운로드하고 로컬 파일에 저장할 수 있습니다. 예를 들어 이미지를 다운로드하려면 wget 명령을 사용하세요.

wget http://example.com/image.jpg -O image.jpg
로그인 후 복사

이 방법을 사용하려면 해당 다운로드 도구를 설치해야 하는데, 이는 PHP 개발자에게 친숙하지 않을 수 있습니다.

요약

PHP로 개발할 때 외부 이미지를 가져오는 것은 일반적인 문제입니다. 이를 위해 file_get_contents, 컬 또는 일부 원격 다운로드 도구를 선택할 수 있습니다. 실제 필요에 따라 방법을 선택하면 됩니다.

외부 사진을 구하실 때 저작권 문제에 주의하셔야 하며, 불법 다운로드 및 사용을 하지 마시길 바랍니다. 동시에, 외부 이미지를 자주 얻는 애플리케이션의 경우 네트워크 및 서버 리소스의 과도한 소비를 방지하기 위해 캐싱 메커니즘을 추가해야 합니다.

위 내용은 PHP에서 외부 이미지를 얻는 세 가지 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿