【问题标题】:wordpress media upload to rename files appropriately if file exists如果文件存在,wordpress媒体上传以适当地重命名文件
【发布时间】:2015-04-11 17:30:58
【问题描述】:

我正在使用 wp 媒体上传器将文件上传到网站的 wordpress 中创建一个插件。问题是如果存在同名文件,当前上传的文件名最后会附加一个数字。

如果我上传 file001.pdf 然后下一个文件被重命名为 file0012.pdf 而不是 file001-2.pdf 则会出现问题 这是一个问题,因为用户可能会认为这是文件 12 而不是文件 1 的版本 2。

如果系统中已经有一个同名文件,我该如何更改它,正在上传的文件会得到正确的重命名?

编辑

所以我发现 wp-includes/functions.php 中有一个名为 wp_unique_filename 的函数,它将检查唯一的文件名并递增,直到名称唯一为止。我现在只需要找到一种方法来自定义插件目录上的该功能。

【问题讨论】:

    标签: wordpress file upload media rename


    【解决方案1】:

    WordPress 提供了一个钩子 wp_handle_upload_prefilter 如下

    function handle_uploadedimage($arr) {
    
            $random_number = md5(rand(10000,99999));
            $ext = pathinfo($arr['name'], PATHINFO_EXTENSION);
            $arr['name'] = $random_number .'.'.$ext;
    
            return $arr;
        }
        add_filter('wp_handle_upload_prefilter', 'handle_uploadedimage', 1, 1);
    

    【讨论】:

      猜你喜欢
      • 2017-02-20
      • 2017-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-17
      • 2012-11-24
      • 1970-01-01
      相关资源
      最近更新 更多