php curl下载文件时保存原文件名
假设down.php的主要内容如下:
header("Location: http://www.codigg.com/download/src-name.rar"); exit; |
下载如果要用原文件名保存文件,方法如下:
function curl_download($remote) { // 文件内容先保存到临时文件 $local="tmp." . rand(); $cp = curl_init($remote); $fp = fopen($local, "w"); curl_setopt($cp, CURLOPT_FILE, $fp); curl_setopt($cp, CURLOPT_HEADER, 0); // 处理跳转 curl_setopt($cp, CURLOPT_FOLLOWLOCATION , true); // 执行 curl_exec($cp); // 获取curl信息,注意:这句话要放到curl_exec后面 $info = curl_getinfo($cp); // 从curl信息中获取文件名 $realname = basename($info["url"]); // 关闭 curl_close($cp); fclose($fp); // 将临时文件改名为realname rename($local,$realname); // 返回真名 return $realname; } // 测试,输出结果应该是:codigg-3d-chart-demo.rar echo curl_download("http://www.codigg.com/demo/php-curl-down-demo.php"); |
以前都是直接用shell下载,没用过php-curl,不知道这个方法好不好。请大家指正一下。
原创文章如转载,请注明:转载自CODIGG [ http://www.codigg.com/ ]
本文链接地址:http://www.codigg.com/2009/09/php-curl-download-filename/


十一月 15th, 2009 at 18:26
[...] http://www.codigg.com/2009/09/php-curl-download-filename/ [...]