I create a new folder named “x” in one of my proj “library” folder, beside of Zend framework library folder.

We can not upload many files in one upload folder, so why create diffcult folder to manger them.

Run it in zend framework 1.7.

require_once 'Zend/Filter/Interface.php';
 
/**
 * @category   Zend
 * @package    Zend_Filter
 * @copyright  Copyright (c) 2005-2008 Zend Technologies USA Inc. (http://www.zend.com)
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
 */
class X_Filter_Md5File implements Zend_Filter_Interface
{
    /**
     * Defined by Zend_Filter_Interface
     *
     * Returns realpath($value)
     *
     * @param  string $value
     * @return string
     */
    public function filter($value)
    {
		$name = strrchr($value, '.');
                $floder = date('Ymd');
		$file = $floder.DIRECTORY_SEPARATOR.md5_file(realpath($value)).$name;
		if(!is_dir($full_floder = (dirname($value).DIRECTORY_SEPARATOR.$floder)))
			mkdir($full_floder);
		if(!is_file(dirname($value).DIRECTORY_SEPARATOR.$file))	
			rename($value, dirname($value).DIRECTORY_SEPARATOR.$file);
 
		return $floder.DIRECTORY_SEPARATOR.md5_file(realpath($value)).$name;
    }
}