PHP正則采集圖片並保存
阿新 • • 發佈:2017-08-05
con lap sta php正則 exists conn hid 文件名 time
<?php /* *功能:php完美實現下載遠程圖片保存到本地 *參數:文件url,保存文件目錄,保存文件名稱,使用的下載方式 *當保存文件名稱為空時則使用遠程文件原來的名稱 */ function getImage($url, $save_dir = ‘‘, $filename = ‘‘, $type = 0) { if (trim($url) == ‘‘) { return array( ‘file_name‘ => ‘‘, ‘save_path‘ => ‘‘, ‘error‘ => 1); }View Codeif (trim($save_dir) == ‘‘) { $save_dir = ‘./‘; } if (trim($filename) == ‘‘) { //保存文件名 $ext = strrchr($url, ‘.‘); if ($ext != ‘.gif‘ && $ext != ‘.jpg‘) { return array( ‘file_name‘ => ‘‘, ‘save_path‘ => ‘‘, ‘error‘ => 3); }$filename = time() . $ext; } if (0 !== strrpos($save_dir, ‘/‘)) { $save_dir .= ‘/‘; } //創建保存目錄 if (!file_exists($save_dir) && !mkdir($save_dir, 0777, true)) { return array( ‘file_name‘ => ‘‘, ‘save_path‘ => ‘‘, ‘error‘ => 5); }//獲取遠程文件所采用的方法 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($save_dir . $filename, ‘a‘); fwrite($fp2, $img); fclose($fp2); unset($img, $url); return array( ‘file_name‘ => $filename, ‘save_path‘ => $save_dir . $filename, ‘error‘ => 0); } $url=‘http://old.pep.com.cn/xxsx/jszx/tbjxzy/xs3bjxzy/wenzi/201504/W020150417332945629042.jpg‘; getImage($url, $save_dir = ‘./getimg/‘, $filename = ‘‘, $type = 0); ?>
PHP正則采集圖片並保存