$url1 = 'www.somewebsite.com/somefile.ext';
if (@copy($url1, "somefolder/filename.ext"))
{
echo 'File 1 saved.';
}
当我尝试在没有任何登录权限的情况下复制文件时,此代码运行良好。但是当我尝试复制具有登录权限的文件时,该文件不会被复制。无论如何也要发送登录信息吗?
$url1 = 'www.somewebsite.com/somefile.ext';
if (@copy($url1, "somefolder/filename.ext"))
{
echo 'File 1 saved.';
}
当我尝试在没有任何登录权限的情况下复制文件时,此代码运行良好。但是当我尝试复制具有登录权限的文件时,该文件不会被复制。无论如何也要发送登录信息吗?
通常的方法是在服务器之前在 URL 中编码登录信息。例如:
http://user:password@example.com/somefile.txt
记住要考虑安全性。
假设登录是基本的 HTTP 登录,您可以使用它stream_context_create
来传递您的详细信息:
$cred = sprintf('Authorization: Basic %s',
base64_encode($username . ":" . $password) );
$context = stream_context_create(array(
'http' => array(
'header' => $cred
)
));
$url1 = 'www.somewebsite.com/somefile.ext';
if (@copy($url1, "somefolder/filename.ext", $context))
{
echo 'File 1 saved.';
}