It appears that is_writable() does not check full permissions of a file to determine whether the current user can write to it. For example, with Apache running as ...
php.net