我目前正在为我的页面开发一个插件。目标是从用户页面上载自定义配置文件图像。现在,我想以预定义名称存储每个图像。遗憾的是,我还没有计划如何使用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
。那么你有什么想法我可以实现我的目标吗?
答案 0 :(得分:0)
今天我不那么聪明。我需要传递文件类型,否则上传将无法进行...:
$filename = 'profile-image-' . get_current_user_id() . '.' . substr( strrchr( $_FILES['file']['name'], '.' ), 1 );
使用这部分代码,我得到的文件扩展名是:
'.' . substr( strrchr( $_FILES['file']['name'], '.' ), 1 );
答案 1 :(得分:0)
您也可以通过分割字符串来获取文件扩展名
$arr = explode('.',$_FILES['file']['name']);
$ext = end($arr);
然后将文件扩展名与所需的名称连接起来。
您也可以尝试使用该功能
move_uploaded_file($_FILES['file']['tmp_name'], 'path/to/folder/'.$filename);