编写媒体库插件的旧代码收录

//非给定字符文件名上传时重命名 !!!!注意 wp_handle_upload_prefilter 与 sanitize_file_name的区别
// wp_handle_upload_prefilter 预先改变了filename因此文件标题也成了新编码的格式,sanitize_file_name保留原标题,仅仅是改变了文件名
// function xcm_modify_uploaded_file_names($file)
// {
//     $timestamp = time(); // epoch time | formatted date >> date("YmdGs")
//     $info      = pathinfo($file['name']);
//     $ext       = empty($info['extension']) ? '' : '.' . $info['extension'];
//     $name      = basename($file['name'], $ext);

//     $file['name'] = $timestamp . substr(md5($name), 0, 16) . $ext;
//     return $file;
// }
// add_filter('wp_handle_upload_prefilter', 'xcm_modify_uploaded_file_names', 1, 1);


//限制重复上传相同文件,每个文件都有一个md5字段,新上传的文件要与其作比较
//此段代码并没有投入使用,推测原因是无法给出提示?未验证
// function xcm_repeat_file_checker( $file ) {
//     $args = array(
//         'post_type'  => 'attachment',
//         'post_status'=> 'inherit',
//         'meta_query' => array(
//             array(
//                 'key'     => 'fileMd5',
//                 'value'   => md5_file($file),
//                 'compare' => '=',
//             ),
//         ),
//     );
//     var_dump($file);
//     $repeat_files = get_posts( $args );
//     var_dump($repeat_files);
//     return 'ehhhhh';
//     $file['error'] = "文件已经被上传过了";
//   if ( $repeat_files ) {
//     $file['error'] = "文件已经被上传过了";
//   }
//   return $file;
// }
// add_filter( 'wp_handle_upload_prefilter', 'xcm_repeat_file_checker' );