如下所示:
php" id="highlighter_457953">
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
//下载附件
function get_file( $url , $folder = "./" ) {
set_time_limit (24 * 60 * 60); // 设置超时时间
$destination_folder = $folder . '/' ; // 文件下载保存目录,默认为当前文件目录
if (! is_dir ( $destination_folder )) { // 判断目录是否存在
mkdirs( $destination_folder ); // 如果没有就建立目录
}
$newfname = $destination_folder . basename ( $url ); // 取得文件的名称
$file = fopen ( $url , "rb" ); // 远程下载文件,二进制模式
if ( $file ) { // 如果下载成功
$newf = fopen ( $newfname , "wb" ); // 远在文件文件
if ( $newf ) // 如果文件保存成功
while (! feof ( $file )) { // 判断附件写入是否完整
fwrite( $newf , fread ( $file , 1024 * 8), 1024 * 8); // 没有写完就继续
}
}
if ( $file ) {
fclose( $file ); // 关闭远程文件
}
if ( $newf ) {
fclose( $newf ); // 关闭本地文件
}
return true;
}
function mkdirs( $path , $mode = "0755" ) {
if (! is_dir ( $path )) { // 判断目录是否存在
mkdirs(dirname( $path ), $mode ); // 循环建立目录
mkdir ( $path , $mode ); // 建立目录
}
return true;
}
// 使用示例
echo get_file( 'xxxxx.pdf' );
|
以上这篇浅谈php fopen下载远程文件的函数就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。