PHP正则采集图片并保存
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP正则采集图片并保存相关的知识,希望对你有一定的参考价值。
<?php /* *功能:php完美实现下载远程图片保存到本地 *参数:文件url,保存文件目录,保存文件名称,使用的下载方式 *当保存文件名称为空时则使用远程文件原来的名称 */ function getImage($url, $save_dir = ‘‘, $filename = ‘‘, $type = 0) { if (trim($url) == ‘‘) { return array( ‘file_name‘ => ‘‘, ‘save_path‘ => ‘‘, ‘error‘ => 1); } if (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正则采集图片并保存的主要内容,如果未能解决你的问题,请参考以下文章