下载pdf到服务器指定文件夹php,php实现远程网络文件下载到服务器指定目录

代码如下

/**

* @param $url 下载地址

* @param string $publicDir 文件存放地址

* @param string $filename 文件名称

* @param int $type

* @return array|bool

*/

public function getDownload($url, $publicDir = '', $fileName = '', $type = 0) {

//获取文件路径

$newOneDir = substr($publicDir,0,strrpos($publicDir,"/"));

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

return false;

}

//检验访问url是否有效

$array = get_headers($url,1);

if(!preg_match('/200/',$array[0])){

return false;

}

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

return false;

}

//创建保存目录

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

return false;

}

//原来文件存在则删除

if (file_exists($save_dir)) {

unlink($save_dir);

}

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

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

$content = curl_exec($ch);

curl_close($ch);

} else {

ob_start();

readfile($url);

$content = ob_get_contents();

ob_end_clean();

}

$size = strlen($content);

//文件大小

$fp2 = @fopen($publicDir, 'a');

fwrite($fp2, $content);

fclose($fp2);

unset($content, $url);

return array(

'file_name' => $fileName,

'save_path' => $publicDir,

'file_size' => $size

);

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值