gea*_*tal 14 wordpress plugins file-rename
有没有办法在Wordpress 3.0后端的上传进程中重命名文件?我想对文件进行一致的命名,特别是对于图像.
我认为原始文件名的12(+ - )数字哈希值或类似的东西会很棒.有什么建议?
问候
The*_*dic 30
但在上传文件之前,这样做会更容易.
不太确定 - 这似乎相当容易;
/**
* @link http://stackoverflow.com/a/3261107/247223
*/
function so_3261107_hash_filename( $filename ) {
$info = pathinfo( $filename );
$ext = empty( $info['extension'] ) ? '' : '.' . $info['extension'];
$name = basename( $filename, $ext );
return md5( $name ) . $ext;
}
add_filter( 'sanitize_file_name', 'so_3261107_hash_filename', 10 );
Run Code Online (Sandbox Code Playgroud)
此过滤器创建原始文件名的32个字符的散列,保留文件扩展名.如果你愿意的话,你可以用它来剁下substr()来.
一旦文件上传到服务器上的临时目录,但在调整大小(如果适用)并保存到uploads文件夹之前,此过滤器就会运行.
请注意,不存在文件覆盖的风险 - 如果新散列的文件与已存在的文件相同,WordPress将尝试将增量数字附加到文件名,直到不再发生冲突.
<?php
/**
* Plugin Name: Hash Upload Filename
* Plugin URI: http://stackoverflow.com/questions/3259696
* Description: Rename uploaded files as the hash of their original.
* Version: 0.1
*/
/**
* Filter {@see sanitize_file_name()} and return an MD5 hash.
*
* @param string $filename
* @return string
*/
function so_3261107_hash_filename( $filename ) {
$info = pathinfo( $filename );
$ext = empty( $info['extension'] ) ? '' : '.' . $info['extension'];
$name = basename( $filename, $ext );
return md5( $name ) . $ext;
}
add_filter( 'sanitize_file_name', 'so_3261107_hash_filename', 10 );
Run Code Online (Sandbox Code Playgroud)
小智 5
http://wpapi.com/change-image-name-to-wordpress-post-slug-during-upload/
顺便提一句:
添加过滤器sanitize_file_name是完全错误的,因为sanitize_file_name()函数是格式化字符串的辅助函数,它可以在其他地方使用,如插件或主题。
function wp_modify_uploaded_file_names($file) {
$info = pathinfo($file['name']);
$ext = empty($info['extension']) ? '' : '.' . $info['extension'];
$name = basename($file['name'], $ext);
$file['name'] = uniqid() . $ext; // uniqid method
// $file['name'] = md5($name) . $ext; // md5 method
// $file['name'] = base64_encode($name) . $ext; // base64 method
return $file;
}
add_filter('wp_handle_upload_prefilter', 'wp_modify_uploaded_file_names', 1, 1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17677 次 |
| 最近记录: |