The personal website of Matt Henderson.
23 May 2003
For anyone interested, attached below (in the Extended Entry) is the script I run nightly from cron that informs me by email when my current iPhoto Library is getting big enough to consider taking an action with iPhoto Library Manager to create a new one.
A couple of notes:
I’ve removed the <? ?> PHP delimiters from the script example, to prevent execution when you view it (since my blog is parsed by PHP).
#! /usr/local/bin/php [BEGIN PHP]
$LibraryLocation = ‘/Users/mhenders/Pictures’; $LibraryPrefix = ‘iPhoto-‘; $MaxDesiredSize = 600; // in megabytes $to = ‘[email protected]’; $subject = ‘iPhoto Library Size Warning [makalup1]’;
function getSubDirs($dir_name) { $subdirectories = array(); $files = array();
if(is_dir($dir_name) and is_readable($dir_name)) {
$d = dir($dir_name);
while (false !== ($f = $d->read())) {
// skip . and ..
if (('.' == $f) || ('..' == $f)) {
continue;
}
if (is_dir("$dir_name/$f")) {
array_push($subdirectories,"$dir_name/$f");
} else {
array_push($files,"$dir_name/$f");
}
}
$d->close();
}
return $subdirectories; }
$subdirectories = getSubDirs($LibraryLocation);
foreach( $subdirectories as $subdir ) { if(ereg($LibraryLocation.”/”.$LibraryPrefix,$subdir)) { $output = exec(“du -sk “.$subdir); ereg(‘([0-9]+)’,$output,$size); $size = $size[0]; $foundLibrary = $subdir; } }
$checkSize = round($size/1000,0); // convert KB to MB
if($checkSize > $MaxDesiredSize) { $message = “iPhoto Library Size Warningn”; $message .= “===========================nn”; $message .= “Library: $foundLibraryn”; $message .= “ Size: $checkSize MBnn”; $message .= “(You specified to be notified when the “; $message .= “library size is greater than $MaxDesiredSize MB.)”;
$subject .= " [$checkSize MB]";
mail($to,$subject,$message); }
[END PHP]
Enjoy this article? — You can find similar content via the category and tag links below.
Questions or comments? — Feel free to email me using the contact form below, or reach out on Twitter.