public function save($file) { // Check there is an uploaded file if (empty($file['tmp_name']) or !is_uploaded_file($file['tmp_name'])) { return FALSE; } $dir = stash::get_directory(); $token = stash::create_token(); // Stash file move_uploaded_file($file['tmp_name'], $dir . $token . '_file'); // Stash meta data unset($file['tmp_name']); $meta = json_encode($file); file_put_contents($dir . $token . '_meta', $meta); if (mt_rand(1, 100) <= Kohana::config('stash.gc_probability')) { stash::garbage_collect(); } return $token; }