php 下载体,php 下载文件

从网上看看了一些php下载文件的资料,改了改,写了这么个函数.

$url = "下载文件的地址";

$sgff = "要保存文件的本地目录";

$filename = "要保存为什么样的文件名";

$name= array_pop(explode(".", $url)); //获取后缀名'

$filename = $filename.".".$name; //文件名后加入后缀'

function check_url($url){

return preg_match("/^(http|ftp)(://)([a-zA-Z0-9-_]+[./]+[w-_/]+.*)+$/i", $url);

}

function down($url,$sgff,$filename){

error_reporting(0);

set_time_limit(0);

$argv[1] = $url;

$argv[2] = $sgff;

//无参数则给出提示

if (empty($argv[1])){

echo "Usage: ". $argv[1] ." URL [Destination] ";

exit();

}

//设置获取基本变量

$url = $argv[1];

echo "Download >";

$save_path = $argv[2] ? $argv[2] : "./";

$file_name = $filename;

$localfile = $save_path.$file_name;

echo "File path:".$localfile."
";

//检查变量

if (!check_url($url)){

exit("Error: URL ". $url ." invalid. ");

}

if (file_exists($localfile)){

exit("Error: local file ". $localfile ." exists. ");

}

//打开远程文件

$fp = fopen($url, "rb");

if (!$fp){

exit("Error: Download ". $url ." failed. ");

}

//打开本地文件

$sp = fopen($localfile, "wb");

if (!$sp){

exit("Error: Open local file ". $localfile ." failed. ");

}

//下载远程文件

echo "Downloading, please waiting... ";

while (!feof($fp)){

$tmpfile .= fread($fp, 512);

}

//保存文件到本地

fwrite($sp, $tmpfile);

fclose($fp);

fclose($sp);

echo "Download file ". $file_name ." succeed! ";

}

down($url,$sgff,$filename);

?>

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值