当前位置:首页 > 网站建设
curl采集图片并下载回本地保持原文件名
curl采集图片并下载回本地保持原文件名
<?php
// 设置时区
date_default_timezone_set('Asia/Shanghai');
// 设置脚本超时
set_time_limit(0);
// 设置限制内存
ini_set('memory_limit', '-1');
// 输出编码
header('Content-type:text/html;charset=utf-8');
error_reporting(E_ERROR|E_WARNING);
/**
* 采集远程图片
* @param string $url 远程文件地址
* @param string $filename 保存后的文件名(为空时则为随机生成的文件名,否则为原文件名)
* @param array $fileType 允许的文件类型
* @param string $dirName 文件保存的路径
* @param int $type 远程获取文件的方式
* @return json 返回文件名、文件的保存路径
$fileName = '', $dirName, $fileType = array('jpg', 'gif', 'png'), $type = 1
*/
function download_image($url,$fileType = array('jpg', 'gif', 'png'))
{
if ($url == '')
{
return false;
}
// 获取文件原文件名
$defaultFileName = basename($url);
// 获取文件类型
/*
$suffix = substr(strrchr($url, '.'), 1);
if (!in_array($suffix, $fileType))
{
return false;
}
*/
// 设置保存后的文件名
$fileName = $defaultFileName;
// 获取远程文件资源
if ($type)
{
$ch = curl_init();
// $timeout = 90;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 从证书中检查SSL加密算法是否存在
// 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 = 'tuku';
if (!file_exists($dirName))
{
mkdir($dirName, 0777, true);
}
// 保存文件
$res = fopen($dirName . '/' . $fileName, 'a');
fwrite($res, $file);
fclose($res);
return array(
'fileName' => $fileName,
'saveDir' => $dirName
);
}
$tp1=download_image('http://www.xxx.com/xx/1.png','png');//调用方法
版权声明:
博主在此发文(包括但不限于汉字、拼音、拉丁字母)均为随意敲击键盘所出,用于检验本人电脑键盘录入、屏幕显示的机械、光电性能,并不代表本人局部或全部同意、支持或者反对观点
如需要详查请直接与键盘生产厂商法人代表联系。挖井挑水无水表,不会网购无快递。
文章内容除非注明原创,否则来源于互联网,不代表本人的任何立场;涉及到的软件来源于互联网,仅供个人下载使用,请勿用于商业用途,版权归软件开发者所有,下载后请于24小时内删除,请支持正版!
因下载本站任何资源造成的损失,全部责任由使用者本人承担!
如果你是版权方,认为本文内容对您的权益有所侵犯,请联系博主,待博主进行严格地审查和背景调查后,情况属实的将在三天内将本文删除或修正。
博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高(其实是个菜B),不足和错误之处在所难免,希望大家能够批评指出。