class.upload.php is a powerful and mature PHP class to manage uploaded files, and manipulate images in many ways. The script is available under a GPL license.
more info about the class
function recursiveMkdir($strPath, $mode = 0777) { return is_dir($strPath) or ( recursiveMkdir(dirname($strPath), $mode) and @mkdir($strPath, $mode) ); }
any ideas on reasons for the problem?