なんかアプリ落としたりとか色々面倒そうだったので書いた。ローカルで実行して使う用。いわゆる自己責任で勝手にどうぞ。
<?php // Picture downloader for Picasa /* ---------- */ $rssURL = 'RSSのURL'; $saveDir = '保存先'; // 最後は/でおわらせること。 /* ---------- */ if (file_exists($saveDir)) { if (!is_dir($saveDir)) { die("save path is not directory!\n"); } } else { if (!mkdir($saveDir)) { die("Can't create directory!\n"); } } $xml = simplexml_load_file($rssURL); foreach($xml->channel->item as $item) { $filename = $item->title; //print $filename; /* 2012/2/21追記: 画像のディレクトリ構成が変わったようで、$urlのURLをcurlで取得すると 元のサイズで取得可能に。file_get_contentsでは取得できなかったので、 各自工夫してもらえると。私はcurlを実行するシェルスクリプトをphpに吐かせて 手動で実行としました。 */ $url = $item->enclosure->attributes()->url; $pos = strrpos($url, '/'); $url = substr_replace($url, '/d/', $pos, 1); //$data = file_get_contents($url); //file_put_contents($saveDir.$filename, $data); //print "\t\t->\t$".$saveDir.$filename."\n"; } ?>
きょう学んだこと: RSS中の[@attributes]は、「attributes()」として扱える。