あっきぃ日誌

鉄道ブログのような技術系ブログのようななにか

Picasaの画像をRSSを使って一括ダウンロードするPHPスクリプト

なんかアプリ落としたりとか色々面倒そうだったので書いた。ローカルで実行して使う用。いわゆる自己責任で勝手にどうぞ。

<?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()」として扱える。