FCKeditor 版本 2.6.4.1Build 23187

FCKeditor上传文件是不会重命名的,除非是有崇明文件存在。例如:当上传第二个“0104_p5.jpg”图片时,FCKeditor就会将新文件重命名为“0104_p5(1).jpg”,可目前项目里不需要这样,需要统一的(如“20100712061546_7199f4.jpg”)这样日期加6位随机的命名规则。于是,就有了如下改动:

首先,找到io.php的SanitizeFileName函数(约在206行~270行之间,我的在266行),原函数为:// Do a cleanup of the file name to avoid possible problems

function SanitizeFileName( $sNewFileName )

{

global $Config ;

$sNewFileName = stripslashes( $sNewFileName ) ;

// Replace dots in the name with underscores (only one dot can be there... security issue).

if ( $Config['ForceSingleExtension'] )

$sNewFileName = preg_replace( '/\\.(?![^.]*$)/', '_', $sNewFileName ) ;

// Remove \ / | : ? * "

$sNewFileName = preg_replace( '/\\\\|\\/|\\||\\:|\\?|\\*|"||[[:cntrl:]]/', '_', $sNewFileName ) ;

return $sNewFileName ;

}

这个函数用来修正文件名的字符,就拿他开刀,改为:// Do a cleanup of the file name to avoid possible problems

function SanitizeFileName( $sNewFileName )

{

global $Config ;

$sNewFileName = stripslashes( $sNewFileName ) ;

// Replace dots in the name with underscores (only one dot can be there... security issue).

if ( $Config['ForceSingleExtension'] )

$sNewFileName = preg_replace( '/\\.(?![^.]*$)/', '_', $sNewFileName ) ;

// Remove \ / | : ? * "

//$sNewFileName = preg_replace( '/\\\\|\\/|\\||\\:|\\?|\\*|"||[[:cntrl:]]/', '_', $sNewFileName ) ;

//注释上面一行原有的文件名,并在下面自定义文件命名规则

$sExtension = substr( $sNewFileName, ( strrpos($sNewFileName, '.') + 1 ) ) ;

$sNewFileName = my_setfilename().'.'.$sExtension;

//修改结束

return $sNewFileName ;

}

这里使用了一个新的命名规则函数“my_setfilename”,内容如下://自定义文件命名规则函数

function my_setfilename(){

//生成随机字符串

$string = 'abcdefghijklmnopgrstuvwxyz0123456789';

$rand = '';

for ($x=0;$x<6;$x++)

$rand .= substr($string,mt_rand(0,strlen($string)-1),1);

return date("YmdHis").'_'.$rand;//以“日期_随机字符串”方式返回新文件名

}

补充:按照日期分类文件夹存放文件,我没有用

方法:找到config.php文件,32行的样子:// Path to user files relative to the document root.

$Config['UserFilesPath'] = '/Upload/' ;

改为:// Path to user files relative to the document root.

$Config['UserFilesPath'] = '/Upload/' .date("Ymd").'/';

//当文件夹不存在的时候貌似会自动创建

本文来自投稿,不代表访得立场,如若转载,请注明出处:http://www.found5.com//view/159.html

fckeditor 上传图片 php_FCKeditor上传文件重命名for php相关推荐

  1. php 上传文件 重命名_如何用PHP给上传的文件改名

    用PHP给上传的文件改名的方法:首先新建一个html文件,并创建form表单:然后新建Php文件用于接收form表单传递过来的文件数据,并设置文件的编码为utf8:接着创建上传文件保存的目录变量[$s ...

  2. django如何给上传的图片重命名(给上传文件重命名)

    1.先在你项目中添加一个文件夹如:system 在文件夹下添加__init__.py 和storage.py文件,并在storage.py中添加如下代码: # -*- coding: UTF-8 -* ...

  3. 上传文件重命名后,下载时,用文件原名,不用Guid命名

    下载时,通过a标签,<a href="/images/myw3schoolimage.jpg" download="w3logo">,可以通过,do ...

  4. 教你如何调用百度编辑器ueditor的上传图片、上传文件等模块

    出于兴趣爱好,前段时间自己尝试写了一个叫simple的cms,里面使用了百度ueditor编辑器,发现它的多图片上传模块很不错,用起来很方便,又可以选择已经上传好的图片.正好我又是个懒人,发现有现成的 ...

  5. 【CKFinder】解决上传中文名文件乱码和文件重命名的问题

    在Windows Server 2003的服务器平台上,用CKFinder上传中文文件名的文件,上传后,文件名变成了乱码,导致文件链接找不到. 上传中文名文件乱码问题 在ckfinder/config ...

  6. 使用ajaxSubmit上传文件总结

    一.使用步骤 ①引入文件 <script type="text/javascript" src="js/jquery-1.11.3.min.js" > ...

  7. 上传文件,上传文件,用Struts2处理,轻而易举……

    Struts2的上传功能还是很强大的,它可以自动拦截上传文件的相关信息-- 首先需要2个必要的jar包commons-fileupload-1.2.*.jar,commons-io-1.3.*.jar ...

  8. 使用 smartupload 上传文件

    使用 smartupload 上传文件 1.导入jar包: 2.在表单中添加表单属性:enctype="multipart/form-data": <form action= ...

  9. java scp 上传文件_java基于Scp实现Linux下远程获取、上传文件

    前不久在项目开发中遇上的一个需求:需要在B机器上将A机器某路径下的文件拷贝到B机器上做保存. 简单分析下来,自己的理解就是:一个RPC,主要就是解决跨域传输文件的问题.在提前能拿到A机器的IP.Por ...

最新文章

  1. mysql 转pxc_PXC 配置笔记-从MySQL直接转成PXC集群
  2. 设计输出实数的格式,实数用%6.2f格式输出
  3. linux重启was控制台报错,Linux非WAS部署,启动报错Cannot run program \lsb_release\
  4. 【学习笔记】ABAP OOD设计模式 - 观察者模式
  5. P3368 【模板】树状数组 2(区间修改单点查询)
  6. 牛客网【每日一题】4月2日 月月查华华的手机
  7. Servlet+JSP
  8. SpringAOP Aspect注解实现简单日志功能
  9. 什么是UML统一建模语言
  10. Ubuntu 16.04 (Ubuntu18.04 也可以用)远程桌面(使用win10远程桌面客户端链接)和 使用vncveiwer链接的配置
  11. Ubuntu nautilus 快速打开文件浏览器
  12. Markdown 前言
  13. 阿里云国际版ECS云服务器Windows系统手动搭建WordPress
  14. kaze算法的图像配准研究(2)-匹配
  15. 大学四年一路走来,我把这些私藏的算法学习工具全贡献出来了!
  16. 【Verilog】UART异步串口的verilog实现
  17. 命令模式及其在Apache IoTDB中的应用
  18. SSL证书安全检验失败该如何处理?
  19. python影视数据爬虫sqlite源码+论文(完整版和简洁版)
  20. 医院预约挂号微信小程序

热门文章

  1. html和js画圣诞树图片,基于JS2Image实现圣诞树代码
  2. get 传值 是params
  3. slf4j报错:SLF4J:Failed to load class org.slf4j.impl.StaticLoggerBinder.Defaulting to no-operat有效解决办法
  4. 畜牧业中资金问题的解决——活体贷技术和实现原理
  5. 怎么批量下载哗哩哗哩B站主页视频
  6. python画钟表代码_Python技能操作5:用代码做个能挂墙上的大钟表
  7. 取得df的列名的列表,取得df的列宽,把df的列融入成为其他df的列
  8. 发动机太热 请不要用冷水降温
  9. 全球排名前四的眼药水,第一款来自欧洲老牌安瞧AGEPHA Pharma,眼科医生自留!
  10. 精华QT安装:qt-opensource-windows-x86-5.14.1