如何防止用户两次上传同一个文件WordPress

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何防止用户两次上传同一个文件WordPress相关的知识,希望对你有一定的参考价值。

在我的WordPress网站上,用户上传相同的图像文件两次并且三次,所以我的网站的磁盘空间超过了。

是否有任何选项可以阻止用户一次又一次地上传相同的图像文件。

答案

我遇到过同样的问题。如果已经存在替换图像的过滤器钩子,则不添加任何验证,而是添加任何验证。将此代码添加到functions.php文件中

add_filter( 'sanitize_file_name', 'replace_image_if_same_exists', 10, 1 );

function replace_image_if_same_exists( $name ) 
{
  $args = array(
    'numberposts'   => -1,
    'post_type'     => 'attachment',
    'meta_query' => array(
            array( 
                'key' => '_wp_attached_file',
                'value' => $name,
                'compare' => 'LIKE'
            )
        )
  );
  $attachments_to_remove = get_posts( $args );

  foreach( $attachments_to_remove as $attach )
    wp_delete_attachment( $attach->ID, true );

 return $name;
}

希望这对你有所帮助。

以上是关于如何防止用户两次上传同一个文件WordPress的主要内容,如果未能解决你的问题,请参考以下文章

如何防止用户单击按钮两次?

Vue js如何防止按钮连续点击两次[重复]

WordPress 实现附件上传自动重命名但不改变附件标题

wordpress错误提示”抱歉,由于安全原因,这个文件类型不受支持。”解决方法

Wordpress:在管理员选项页面中上传图片

如何防止在包含的文件中包含两次相同的文件?