PHP에서 이미지를 다운로드하는 방법: 1. "file_get_contents"를 사용하여 이미지를 다운로드합니다. 2. CURL을 사용하여 이미지를 다운로드합니다. 3. fopen을 사용하여 이미지를 다운로드합니다.
이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
PHP를 사용하여 원격 이미지를 다운로드하는 여러 방법 요약
이 문서에서는 다음에서 이미지를 다운로드하는 3가지 방법을 보여줍니다. 원격 URL을 생성하고 로컬에 저장합니다. file_get_contents, 컬 및 fopen을 포함한 파일의 메소드입니다.
1. file_get_contents
function dlfile($file_url, $save_to) { $content = file_get_contents($file_url); file_put_contents($save_to, $content); }
사용 2. CURL
function dlfile($file_url, $save_to) { $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 0); curl_setopt($ch,CURLOPT_URL,$file_url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $file_content = curl_exec($ch); curl_close($ch); $downloaded_file = fopen($save_to, 'w'); fwrite($downloaded_file, $file_content); fclose($downloaded_file); }
사용 3. fopen
function dlfile($file_url, $save_to) { $in= fopen($file_url, "rb"); $out= fopen($save_to, "wb"); while ($chunk = fread($in,8192)) { fwrite($out, $chunk, 8192); } fclose($in); fclose($out); }
사용 전체 다운로드 및 저장 방법(출력 로그 라인 삭제 가능):
private function downloadImage($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); $file = curl_exec($ch); curl_close($ch); $this->saveAsImage($url, $file); } private function saveAsImage($url, $file) { $filename = pathinfo($url, PATHINFO_BASENAME); $dirname = pathinfo(parse_url($url, PHP_URL_PATH), PATHINFO_DIRNAME); $path = 'public' . $dirname . '/'; $fullpath = 'public' . $dirname . '/' . $filename; // 如果目录不存在,则创建 if(!is_dir($path)) { mkdir($path, 0777, true); } if(file_exists($fullpath)) { //$this->output->writeln("【已存在】输出路径" . $fullpath); } else { $resource = fopen($fullpath, 'a'); fwrite($resource, $file); fclose($resource); //$this->output->writeln("【已保存】输出路径" . $fullpath); } }
[추천 학습: "PHP 비디오 튜토리얼 》】
위 내용은 PHP로 사진을 다운로드하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!