使用自定义文件名在 WordPress 中上传文件

Upload file in WordPress with custom file name

我目前正在为我的页面开发一个插件。目标是从用户页面上传自定义个人资料图片。现在我想将每个图像存储在一个预定义的名称下。遗憾的是,我没有计划如何在使用 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。那你知道我怎样才能达到我的目标吗?

今天我没那么聪明了。需要传文件类型,否则上传不了...:[=​​12=]

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

通过这部分代码,我得到了文件扩展名:

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

你也可以通过拆分字符串得到文件扩展名

$arr = explode('.',$_FILES['file']['name']);
$ext = end($arr);

然后将文件扩展名与所需名称连接起来。

你也可以试试这个功能

move_uploaded_file($_FILES['file']['tmp_name'], 'path/to/folder/'.$filename);