fopen函數
| 代碼如下 |
複製代碼 |
<?php function get_file($url,$folder,$pic_name){ set_time_limit(24*60*60); //限制最大的執行時間 $destination_folder=$folder?$folder.'/':''; //檔案下載儲存目錄 $newfname=$destination_folder.$pic_name;//檔案PATH $file=fopen($url,'rb'); if($file){ $newf=fopen($newfname,'wb'); if($newf){ while(!feof($file)){ fwrite($newf,fread($file,1024*8),1024*8); } } if($file){ fclose($file); } if($newf){ fclose($newf); } } } get_file("/img/baidu_logo.gif","file","baidu.jpg"); ?> |
php curl函數
| 代碼如下 |
複製代碼 |
/* *功能:php多種方式完美實現下載遠程圖片儲存到本地 *參數:檔案url,儲存檔案名稱,使用的下載方式 *當儲存檔案名稱為空白時則使用遠程檔案原來的名稱 */ function getImage($url,$filename='',$type=0){ if($url==''){return false;} if($filename==''){ $ext=strrchr($url,'.'); if($ext!='.gif' && $ext!='.jpg'){return false;} $filename=time().$ext; } //檔案儲存路徑 if($type){ $ch=curl_init(); $timeout=5; curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout); $img=curl_exec($ch); curl_close($ch); }else{ ob_start(); readfile($url); $img=ob_get_contents(); ob_end_clean(); } $size=strlen($img); //檔案大小 $fp2=@fopen($filename,'a'); fwrite($fp2,$img); fclose($fp2); return $filename; } |
開啟php curl函數庫的步驟
1).去掉windows/php.ini 檔案裡;extension=php_curl.dll前面的; /*用 echo phpinfo();查看php.ini的路徑*/
2).把php5/libeay32.dll,ssleay32.dll複製到系統目錄windows/下
3).重啟apache