gbc / wn-mediafilerenamer-plugin
媒体文件重命名插件,用于清理上传的媒体文件名
Requires
- composer/installers: ~1.0
README
此插件解决了困扰我已久的问题。
当用户将文件上传到媒体管理器时,文件名保持不变,假设用户在命名文件时会遵守最佳实践。
插件在将文件保存在媒体管理器之前会清理文件名。
动机
我为基于Winter的多种类型的用户开发网站。我的大多数用户都对数字世界相当熟悉,但最近我看到了大量完全不了解文件命名某些最佳实践的客户。
这导致我在一些旧项目中出现了几个小问题,因为客户上传的文件包含空格、大小写不一致等。这不可避免地导致一些浏览器和系统预期行为出现问题。
为了缓解这个问题,我开始在我的项目中实现这个功能,随着它的使用越来越普遍,我决定将其提取为插件,这就是这个项目的诞生。
预期结果
当用户上传一个像My picture with Sally.jpg这样的文件时,此插件基本上会将其清理为my-picture-with-sally.jpg,使文件更容易为浏览器访问,并且作为一个额外的优势,更利于SEO。
插件还有一个智能功能,即如果清理后的文件已经存在,它将附加一个--N,其中N是数字索引。
例如:如果用户依次上传以下文件:
My picture with Sally.jpgMy Picture With Sally.jpgmy picture with sally.jpg
在一个*nix系统上,这三个文件将是不同的,插件会将第一个文件转换为
my-picture-with-sally.jpg
当尝试转换第二个文件时,由于已存在slug名称,它将附加一个--1
my-picture-with-sally--1.jpg
最后,当尝试保存第三个文件时,它也会将其转换为my-picture-with-sally.jpg,该文件已经存在,附加一个--1,并再次尝试,如果仍然存在,最终确定
my-picture-with-sally--2.jpg
警告和注意事项
此插件仅在媒体管理器中工作
此插件仅设计用于媒体管理器。如果您直接向系统上传文件,此插件不会解决问题。
此插件仅处理UPLOAD媒体事件
此插件仅处理上传。现有文件不会被重命名,重命名文件也不会触发此插件检查。(我可能在将来实现此类功能,但到目前为止,这完全符合我的需求)。
此插件仅针对文件
如果用户创建的文件夹不是web友好的,此插件不会更正文件夹名称。它只会更正媒体文件。
再次,我可能在将来实现此类功能,但我还没有需要这样的东西。