<?php $url = "图片绝对地址/thumbnail.jpg"; $filename = 'curl.jpg'; getImg($url, $filename); /**@通过curl方式获取制定的图片到本地*@ 完整的图片地址*@ 要存储的文件名*/ function getImg($url = "", $filename = "") {if(is_dir(basename($filename))) {echo "The Dir was not exits";return false;}//去除URL连接上面可能的引号$url = preg_replace( '/(?:^['"]+|['"/]+$)/', '', $url );$hander = curl_init();$fp = fopen($filename,'wb');curl_setopt($hander,CURLOPT_URL,$url);curl_setopt($hander,CURLOPT_FILE,$fp);curl_setopt($hander,CURLOPT_HEADER,0);curl_setopt($hander,CURLOPT_FOLLOWLOCATION,1);//curl_setopt($hander,CURLOPT_RETURNTRANSFER,false);//以数据流的方式返回数据,当为false是直接显示出来curl_setopt($hander,CURLOPT_TIMEOUT,60);/*$options = array(CURLOPT_URL=> '/thum-f3ccdd27d2000e3f9255a7e3e2c4880020110622095243.jpg',CURLOPT_FILE => $fp,CURLOPT_HEADER => 0,CURLOPT_FOLLOWLOCATION => 1,CURLOPT_TIMEOUT => 60);curl_setopt_array($hander, $options);*/curl_exec($hander);curl_close($hander);fclose($fp);return true; } ?>
$curl = curl_init(); curl_setopt($curl, CURLOPT_URL, 'ht(空格)tp://ww(空格)w.fantuan(空格)pu.com/data/attachment/forum/201405/27/001523qiithinnccttzc6i.jpg'); curl_setopt($curl, CURLOPT_REFERER, ''); curl_setopt($curl, CURLOPT_USERAGENT, 'Baiduspider'); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($curl); header('Content-type: image/JPEG'); echo $result;
转为base64
$imgtxt = file_get_content('test.jpg');
file_put_content('test.txt', base64_encode($imgtxt));
关键是设置CURLOPT_RETURNTRANSFER为1,不立刻显示,然后设置header,让网页以jpeg方式解释,最后才echo输出数据;