我试图下载并保存这样的文件(http://www.example.com/bajar.php?id=420633&u=7)但保留原始文件名。
我已经搜索过并找到了这段代码:
file_put_contents('test.rar', file_get_contents('http://www.example.com/bajar.php?id=420633&u=7');
但在这种情况下,我必须把文件名' test.rar'手动,我怎样才能获得原始文件名?
非常感谢!
答案 0 :(得分:1)
这里是我所链接的线程的改编,应该适合您的情况。正则表达式正在寻找最后的' /'然后返回它之后的所有内容。
<?php
function get_real($url) {
$headers = get_headers($url);
foreach($headers as $header) {
if (strpos(strtolower($header),'location:') !== false) {
return preg_replace('~.*/(.*)~', '$1', $header);
}
}
}
echo get_real('http://www.example.com/bajar.php?id=420633&u=7');
?>