首页 > 解决方案 > 使用自定义文件名在 WordPress 中上传文件

问题描述

我目前正在为我的页面开发一个插件。目标是从用户页面上传自定义配置文件图像。现在我想以预定义的名称存储每个图像。遗憾的是,我没有计划如何在使用 WordPress 功能上传文件的过程中为文件设置自定义名称wp_upload_bits()

$filename =  $_FILES['file']['name'];

$uploaded_bits = wp_upload_bits(
    $filename,
    null,
    file_get_contents( $_FILES['file']['tmp_name'] )
);

目前,当我上传例如带有名称的图像时yolo.png,名称仍然存在yolo.png

现在我想以这种方式定义新名称:

$filename = 'profile-image-' . get_current_user_id();

但这不起作用,因为$_FILES['file']['name']是我服务器上临时保存的文件,这是yolo.png. 那么你知道我怎样才能达到我的目标吗?

标签: phpwordpressfile-uploaddropzone.js

解决方案


今天我没那么聪明。我需要传递文件类型,否则无法上传...:

$filename = 'profile-image-' . get_current_user_id() . '.' . substr( strrchr( $_FILES['file']['name'], '.' ), 1 );

使用这部分代码,我只得到文件扩展名:

'.' . substr( strrchr( $_FILES['file']['name'], '.' ), 1 );

推荐阅读