>백엔드 개발 >PHP 튜토리얼 >php获取远程图片的三种方式

php获取远程图片的三种方式

WBOY
WBOY원래의
2016-06-23 13:34:47978검색

1:file_get_contents,file_put_contents方式

<?php	function download_remote_file($file_url, $save_to)	{		$content = file_get_contents($file_url);		file_put_contents($save_to, $content);	}?>

用法:

<?php	download_remote_file('http://www.54ux.com/wp-content/themes/d-simple/img/thumbnail.jpg', realpath("./downloads") . '/file.jpg');?>

2:curl方式

function download_remote_file_with_curl($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); 	}

用法:

<?php	download_remote_file_with_curl('http://www.54ux.com/wp-content/themes/d-simple/img/thumbnail.jpg', realpath("./downloads") . '/file.jpg');?>

3:fopen方法

function download_remote_file_with_fopen($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);	}

用法:

<?php	download_remote_file_with_fopen('http://www.54ux.com/wp-content/themes/d-simple/img/thumbnail.jpg', realpath("./downloads") . '/file.jpg');?>


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.