public function getFile($url, $save_dir = '', $filename = '', $type = 0) {
if (trim($url) == '') {
return false;
}
if (trim($save_dir) == '') {
$save_dir = './';
}
if (0 !== strrpos($save_dir, '/')) {
$save_dir.= '/';
}
//创建保存目录
if (!file_exists($save_dir) && !mkdir($save_dir, 0777, true)) {
return false;
}
//获取远程文件所采用的方法
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();
}
//echo $content;
$size = strlen($content);
//文件大小
$fp2 = @fopen($save_dir . $filename, 'a');
fwrite($fp2, $content);
fclose($fp2);
unset($content, $url);
return array(
'file_name' => $filename,
'save_path' => $save_dir . $filename,
'file_size' => $size
);
}
$url = 'http://adfhhfion.com/grou';
$save_dir = "/home/web/yii2_mine/public/download";
$filename ="wKgKnFuZDKLh-QC0ACmKsHXkfz8503.m4a";
$res = Finance::getFile($url, $save_dir, $filename,1);
var_dump($res);
/home/web/yii2_mine/modules/study/controllers/StockController.php:54:
array (size=3)
'file_name' => string 'wKgKnFuZDKLh-QC0ACmKsHXkfz8503.m4a' (length=34)
'save_path' => string '/home/yii2_mine/public/download/wKgKnFuZDKLh-QC0ACmKsHXkfz8503.m4a' (length=82)
'file_size' => int 2722480
php下载文件
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 通过把Content-Type设置为application/octet-stream,可以把动态生成的内容当作文件...
- 一、普通文件下载 ①laravel框架HTTP响应的download方法 ②PHP实现 其中fread()与rea...