以下のリンクの Web コンテンツを xml ファイルに保存するにはどうすればよいですか? 以下のコードは私にとってはうまくいきません。
<?php
$url = "https://services.boatwizard.com/bridge/events/ae0324ff-e1a5-4a77-9783-f41248bfa975/boats?status=on";
copy($url, "file.xml");
?>
指定されたリンクの内容を file.xml に Curl 経由でダウンロードできます。
<?php
$url = 'https://services.boatwizard.com/bridge/events/ae0324ff-e1a5-4a77-9783-f41248bfa975/boats?status=on';
$fp = fopen (dirname(__FILE__) . '/file.xml', 'w+');
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, 50);
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
fclose($fp);
?>
http://de2.php.net/manual/en/book.dom.php
$dom = new DOMDocument();
$dom->load('http://www.example.com');
$dom->save('filename.xml');
次のように実行できます。
function savefile($filename,$data){
$fh = fopen($filename, 'w') or die("can't open file");
fwrite($fh, $data);
fclose($fh);
}
$data = file_get_contents('your link');
savefile('file.xml',$data);
file_get_contents()とfile_put_contents( ) の2 つの関数を使用します。
file_get_contents - ファイルのコンテンツを取得します。fopen ラッパーが有効になっている場合、この関数で URL をファイル名として使用できます。
file_put_contents - 2 番目の引数の内容を 1 番目の引数で指定されたファイルに書き込みます
<?php
$url = "https://services.boatwizard.com/bridge/events/ae0324ff-e1a5-4a77-9783-f41248bfa975/boats?status=on";
file_put_contents('file.xml',file_get_contents($url));
@chmod('file.xml', 0755);
?>