【问题标题】:Upload file in WordPress with custom file name使用自定义文件名在 WordPress 中上传文件
【发布时间】:2019-06-06 21:20:44
【问题描述】:

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

【问题讨论】:

    标签: php wordpress file-upload dropzone.js


    【解决方案1】:

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

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      然后您将文件扩展名与您想要的名称连接起来。

      你也可以试试这个功能

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-17
        • 2017-09-27
        • 1970-01-01
        • 2013-12-08
        • 1970-01-01
        • 1970-01-01
        • 2017-11-25
        • 2021-10-21
        相关资源
        最近更新 更多