使用时间戳有几个好处:

  1. 唯一性: 时间戳是基于当前时间的,因此在同一秒内生成的时间戳几乎是唯一的。这意味着你可以确保生成的文件名是唯一的,避免文件名冲突。
  2. 排序和时间记录: 时间戳可以用于对文件进行排序,以及记录文件创建或上传的时间。这对于管理文件、追踪活动记录以及构建文件管理系统非常有用。
  3. 随机性: 尽管时间戳是基于时间的,但在实践中它们可以提供一些随机性,因为上传文件的时间是不断变化的。
  4. 简单性: 时间戳是一个数字,很容易生成和处理。将时间戳与其他信息结合可以创造出独特的标识符。
  5. 数据安全性: 使用时间戳来生成文件名可以增加一定程度的数据安全性,因为外部人员难以猜测生成的文件名。

 

代码:

add_filter( 'wp_handle_upload_prefilter', 'custom_upload_name' );

function custom_upload_name( $file ) {
    // 获取文件扩展名
    $ext = pathinfo( $file['name'], PATHINFO_EXTENSION );

    // 获取当前用户ID
    $user_id = get_current_user_id();

    // 获取当前时间戳(以秒为单位)
    $timestamp = time();

    // 生成新的文件名
    $new_filename = $timestamp . '-' . $user_id . '.' . $ext;

    // 更新文件名
    $file['name'] = $new_filename;
    return $file;
}