Home  >  Article  >  Backend Development  >  php获取远程图片的三种方式

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

WBOY
WBOYOriginal
2016-06-23 13:34:47942browse

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');?>


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn