麦子看到不少的朋友在用WordPress程序建站的时候,对于图片和上传文件名称没有特别的预先处理,比如采用QQ截图或者一些中文名图片文件,但是我们要知道用这些中文名命名在有些主机环境是不兼容也不够好友的。我们一般是使用数字或者字母命名文件,但是有些朋友容易忘记,或者即便自定义名称也容易重复冲突。
于是,我们会采用的办法就是让上传的文件自己重新重命名,采用时间戳和MD5随机命名,基本上可以防止中文名和重复名称的冲突问题。
1、时间戳重命名
- // wordpress上传文件重命名
- function git_upload_filter($file) {
- $time = date("YmdHis");
- $file['name'] = $time . "" . mt_rand(1, 100) . "." . pathinfo($file['name'], PATHINFO_EXTENSION);
- return $file;
- }
- add_filter('wp_handle_upload_prefilter', 'git_upload_filter');
2、MD5加密名称
- //MD5加密命名
- function rename_filename($filename) {
- $info = pathinfo($filename);
- $ext = empty($info['extension']) ? '' : '.' . $info['extension'];
- $name = basename($filename, $ext);
- return substr(md5($name), 0, 20) . $ext;
- }
- add_filter('sanitize_file_name', 'rename_filename', 10);
这里,我们二选一即可。可以实现WordPress上传文件重命名。
评论