I know with my cPanel hosting I can pipe an email inbox to a script, but what I want to do is:
Is there a way to do this with straight-forward PHP?
You'll probably need do the following:
Write a PHP script that's executable at the CLI (by adding a #! declaration at the top of the script that points to the PHP binary, then settings its executable permissions).
Get that script to read the raw email from php://stdin (file_get_contents is easiest)
Get that script to decode the mail in to parts, using something like PEAR::Mail::Mime::Decode or I think there's a handy Zend Framework component).
Read the attachment and subject from the decoded message, and store as normal
exit(0) at the end to tell the CLI that it was a clean exit - any other exit() status could cause a bounced email.