<?php
/**
* Author 米国村长
* @param $url 抓取图片的地址
* @param $filepath 图片保存路径
* @param $pre 图片保存名称前缀,可设置为循环递增或者随机数,减小重名几率*/
class getImage{
public function getImage($url,$filepath,$pre) {
if ($url == "") {
return false;
}
$arr = explode('.',$url);
$ext = end($arr);
$uniq = uniqid(); //设置一个唯一id
/*对gif图片进行静态化,可用作缩略图*/
if($ext == "gif"){ //判断是否为gif。若是,则进行静态化处理
$gif_flag = 1; //设置图片为gif的标记为1
$new_ext = 'jpg';
if(!is_file($filepath)) mkdir($filepath,0777);//建立文件夹
$name = $filepath.'/'.$pre.$uniq; //文件的保存路径名称(无后缀)
$name_jpg = $name.'.'.$new_ext; //jpg的保存路径名称
$name_gif = $name.'.gif'; //gif的保存路径名称
$img = file_get_contents($url); //抓取内容
$this->mkFile($name_jpg,$img); //创建jpg文件
$this->mkFile($name_gif,$img); //创建gif文件
return array($name_gif,$name_jpg,$gif_flag)); //返回图片路径+名称+标记
}else{ //不是gif图片则直接保存本地
$gif_flag = 0; //设置gif标记为0
if(!is_file($filepath)) mkdir($filepath,0777);
$name = $filepath.'/'.$pre.$uniq.$ext; //图像保存的名称和路径
$img = file_get_contents($url); //抓取内容
$this->mkFile($name,$img);
return array($name,'',$gif_flag); //返回图片路径+名称
}
}
private function mkFile($name,$content){
if(!is_file($name)) mkdir($name,0777); //创建文件
file_put_contents($name,$content) //填充文件
}
}
?>
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。