php接口下载图片,PHP 通过url下载图片接口

news/2024/11/25 15:39:42/

//设置数据格式-- json

header('content-type:application/json;charset=utf-8');

// *代表允许任何网址请求

header('Access-Control-Allow-Origin:*');

// 允许请求的类型

header('Access-Control-Allow-Methods:POST,GET,OPTIONS,DELETE');

// 设置允许任何请求头的字段

header('Access-Control-Allow-Headers:*');

//屏蔽参数为空警告

error_reporting(0);

$url = isset($_POST['url']) ? $_POST['url'] : ''; //图片下载url

if ($url == '') {

$res = array('code' => '0', 'msg' => '参数错误');

exit(json_encode($res));

} else {

getImage($url, $save_dir = '../assets/img', $filename = '', $type = 0);

}

/*

*功能:php完美实现下载远程图片保存到本地

*参数:文件url,保存文件目录,保存文件名称,使用的下载方式

*当保存文件名称为空时则使用远程文件原来的名称

*/

function getImage($url, $save_dir, $filename, $type = 0)

{

if (trim($save_dir) == '') {

$save_dir = './';

}

if (trim($filename) == '') { //保存文件名

$ext = strrchr($url, '.');

if ($ext != '.gif' && $ext != '.jpg' && $ext != '.jpge' && $ext != '.png') {

$res = array('code' => '0', 'msg' => '格式错误');

exit(json_encode($res));

}

$filename = time() . $ext;

}

if (0 !== strrpos($save_dir, '/')) {

$save_dir .= '/';

}

//创建保存目录

if (!file_exists($save_dir) && !mkdir($save_dir, 0777, true)) {

$res = array('code' => '0', 'msg' => '目录权限错误');

exit(json_encode($res));

}

//获取远程文件所采用的方法

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);

$res = array('link' => 'http://localhost/api/assets/img/' . $filename);

exit(json_encode($res));

}

作者:amao


http://www.ppmy.cn/news/576270.html

相关文章

猴子实验

猴子实验 --道德的起源 把五只猴子关在一个笼子里,上头有一串香蕉,实验人员装了一个自动装置,一旦侦测到有猴子要去拿香蕉,马上就会有水喷向笼子,而这五只猴子都会 一身湿。首先有只猴子想去拿香蕉,…

html5小游戏猴子爬树源码,幼儿园中班《猴子爬树》教案模板

活动目标: 1、在游戏情景中,试着听辩音乐的一些简单变化,学习有节奏地做猴子爬树的动作。 2、尝试创编各种猴子玩耍的动作。 3、借助已有经验、图片和老师的提问,理解并记忆歌词。 4、在感受歌曲的基础上,理解歌曲意境…

html5小游戏猴子爬树源码,关于猴子爬树的大班活动设计

关于猴子爬树的大班活动设计 大班计算活动设计――猴子爬树 活动目的: 1、学习6的组成,能按次序和规律进行分解和组合,懂得运用交换位置的方法来分解6。 2、发展幼儿逻辑思维能力和推理能力。 活动准备: 碰铃1副;计算器…

我们雇佣了一只大猴子...

Picture from Gremlin 我们“雇佣”了一只大猴子,只为“搞破坏”,不开玩笑。 这只猴子是用来做什么的? 从程序员的视角来看,提高系统稳定性的方法无外乎三种: 通过各种技术手段,例如在容器和调度、微服务、…

黑猴子的家:GitHub 简介

1、GitHub 是什么 GitHub是一个Git项目托管网站,主要提供基于Git的版本托管服务 2、网址 https://github.com/ 3、注册账号的注意事项 不要使用163的邮箱,有可能收不到验证邮件。 较长时间不使用有可能被Github冻结账号。请登录其客服页面https://github.com/c…

黑猴子的家:Maven 父子项目

1、创建maven项目&#xff0c;删除src文件2、编辑pom.xml文件&#xff0c;配置<packaging>pom</packaging>3、第二层maven父子项目和第一次maven父子项目一样创建&#xff0c;需要注意的是目录需要手动添加

使用python实现猴子摘香蕉问题

如何实现猴子摘香蕉问题&#xff0c;只需要几点即可 1.猴子与箱子的位置关系 2.箱子与香蕉的位置关系 3.猴子有无摘到香蕉 猴子摘到香蕉的前提条件 1.猴子与箱子在一起 2.箱子与香蕉在一起 3.猴子在箱子上面 4.猴子没有摘到香蕉 猴子可能存在的几种位置状态 1.箱子和…

小猴子

欢迎使用Markdown编辑器写博客 本Markdown编辑器使用StackEdit修改而来&#xff0c;用它写博客&#xff0c;将会带来全新的体验哦&#xff1a; Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰…