需求中用到了php拉取远程文件,就在网上直接找了
<?php
function
httpcopy(
$url
,
$file
=
""
,
$timeout
=60) {
$file
=
empty
(
$file
) ?
pathinfo
(
$url
,PATHINFO_BASENAME) :
$file
;
$dir
=
pathinfo
(
$file
,PATHINFO_DIRNAME);
!
is_dir
(
$dir
) && @
mkdir
(
$dir
,0755,true);
$url
=
str_replace
(
" "
,
"%20"
,
$url
);
if
(function_exists(
'curl_init'
)) {
$ch
= curl_init();
curl_setopt(
$ch
, CURLOPT_URL,
$url
);
curl_setopt(
$ch
, CURLOPT_TIMEOUT,
$timeout
);
curl_setopt(
$ch
, CURLOPT_RETURNTRANSFER, TRUE);
$temp
= curl_exec(
$ch
);
if
(@
file_put_contents
(
$file
,
$temp
) && !curl_error(
$ch
)) {
return
$file
;
}
else
{
return
false;
}
}
else
{
$opts
=
array
(
"http"
=>
array
(
"method"
=>
"GET"
,
"header"
=>
""
,
"timeout"
=>
$timeout
)
);
$context
= stream_context_create(
$opts
);
if
(@
copy
(
$url
,
$file
,
$context
)) {
//$http_response_header
return
$file
;
}
else
{
return
false;
}
}
}
?>