$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.';
}