php中的图像下载函数,PHP实现的下载远程图片自定义函数分享
/**
* PHP下载远程图片到本地
*
* @param $url string 远程文件地址
* @param $filename string 保存后的文件名(为空时则为随机生成的文件名,否则为原文件名)
* @param $fileType array 允许的文件类型
* @param $dirName string 文件保存的路径(路径其余部分根据时间系统自动生成)
* @param $type int 远程获取文件的方式
* @return json 返回文件名、文件的保存路径
* @author blog.snsgou.com
*/
function getImage($url, $fileName = '', $dirName, $fileType = array('jpg', 'gif'), $type = 1)
{
if ($url == '')
{
return false;
}
// 获取文件原文件名
$defaultFileName = basename($url);
// 获取文件类型
$suffix = substr(strrchr($url, '.'), 1);
if (!in_array($suffix, $fileType))
{
return false;
}
// 设置保存后的文件名
$fileName = $fileName == '' ? time() . rand(0, 9) . '.' . $suffix : $defaultFileName;
// 获取远程文件资源
if ($type)
{
$ch = curl_init();
$timeout = 15; // 超时时间
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file = curl_exec($ch);
curl_close($ch);
}
else
{
ob_start();
readfile($url);
$file = ob_get_contents();
ob_end_clean();
}
// 设置文件保存路径
$dirName = $dirName . '/' . date('Y', time()) . '/' . date('m', time()) . '/' . date('d', time()) . '/';
if (!file_exists($dirName))
{
mkdir($dirName, 0777, true);
}
// 保存文件
$res = fopen($dirName . $fileName, 'a');
fwrite($res, $file);
fclose($res);
return "{'fileName':$fileName, 'saveDir':$dirName}";
}
// 举例
// 返回:{'fileName':13668030896.jpg, 'saveDir':/www/test/img/2013/04/24/}
echo getImage('http://img.wan.renren.com/images/2013/0430/1367294093164.jpg', '', 'd:/PHP/data', array('jpg', 'gif'), 1);
php中的图像下载函数,PHP实现的下载远程图片自定义函数分享相关推荐
- php正则网络图片格式,php中通过正则表达式下载内容中的远程图片的函数代码
这段程序其实是属于"小偷程序"的重要部分. 这一段程序只是下载远程图片的那一段而已,程序写的比较简单,大多部分都做了注释. if (preg_match_all("/ht ...
- mysql自定义函数应用_mysql functions实例:在自定义函数中应用字符串函数
分享一段mysql自定义函数的代码,在其中用到了mysql的字符串函数length. 代码: mysql> delimiter $$ mysql> CREATE FUNCTION myFu ...
- python定义函数prime判断是否是素数_用自定义函数判断素数 用C语言编写自定义函数prime(int x),判断x是否为素数?...
用C语言编写自定义函数prime(int x),判断x是否为素数? int prime(int x) { int i,k k=(int)sqrt( (double)x ) for(i=2i&l ...
- 未捕获typeerror: $形象。cropper不是函数_没有学不会的python--细说自定义函数的细节...
没有学不会的python 函数是什么? 老调常谈,还是那老一套,学习一个东西前,先搞懂是什么,再来学习怎么用. 函数函数,如果你是刚经历过高考肯定很熟悉,数学中就经常出现这个名词,比如什么sin函数, ...
- c语言怎样得到函数内参数的值_MySQL之自定义函数
MySQL不仅内置了一些常用函数,同时也支持自定义函数,来满足开发者的需求 函数定义 MySQL的函数定义语法如下: CREATE functionName:函数名,同MySQL内置函数一样,大小写不 ...
- mysql 自定义函数 事务_MySQL存储过程、触发器、自定义函数、事务
1.存储过程 MySQL中存储过程的参数中有IN.OUT.INOUT类型,但是函数的参数只能是IN类型的. "in" 参数:跟 C 语言的函数参数的值传递类似, MySQL 存储过 ...
- c语言何编写自定义函数,C语言菜鸟基础教程之自定义函数
C语言菜鸟基础教程之自定义函数 先动手编写程序: #include int add(int x, int y) { int z = x + y; return z; } int main() { in ...
- 图片本地化 php,php抓取远程图片本地化函数,很好用的.喜欢的拿去
/** *功能:php完美实现下载远程图片保存到本地 *参数:文件url,保存文件目录,保存文件名称,使用的下载方式 *当保存文件名称为空时则使用远程文件原来的名称 */ protected func ...
- python数据函数定义的规则是什么_Python自定义函数基础概念
一.函数定义语法: def 函数名(形参列表): 语句块 二.函数定义规则 1. 函数的名字就是语句块的名称 2. 函数名的命名规则与变量名相同(函数名必须是标识符) 3. 函数名是一个变量(不要轻易 ...
最新文章
- 排序算法 C++代码实现
- JavaScript值得注意的小知识点
- oracle触发器 select into,Oracle触发器中selectinto报错no_data_found异常处理
- zabbix 监控配置1
- 解决 ASP.NET Core 部署到 IIS,更新项目时文件夹正在使用错误
- c# MEF框架(四 MEF高级进阶)
- 无网络访问权限怎么办_老司机教你IPV4无网络访问权限怎么办
- 【CNMP系列】CentOS7.0下安装Nginx服务
- java day08【String类、static关键字、Arrays类、 Math类】
- win8.1 uefi引导
- 【高效办公】一个鼠标键盘控制两台电脑-synergy
- TonglinkQ8基于linux 7.5的安装
- 冰点还原精灵怎么使用
- visio2013报临时目录下某些文件找不到(实际有)
- 热门应用借微信玩花样:一大波红包正在来袭
- 小型企业Azure云迁移大型指南
- el-rate的使用
- 华云数据董事长许广彬接受中央电视台采访:推动职业教育发展
- 使用python绘制奥运五环
- Invalid default value for