fckeditor 上传图片 php_FCKeditor上传文件重命名for php
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相关推荐
- php 上传文件 重命名_如何用PHP给上传的文件改名
用PHP给上传的文件改名的方法:首先新建一个html文件,并创建form表单:然后新建Php文件用于接收form表单传递过来的文件数据,并设置文件的编码为utf8:接着创建上传文件保存的目录变量[$s ...
- django如何给上传的图片重命名(给上传文件重命名)
1.先在你项目中添加一个文件夹如:system 在文件夹下添加__init__.py 和storage.py文件,并在storage.py中添加如下代码: # -*- coding: UTF-8 -* ...
- 上传文件重命名后,下载时,用文件原名,不用Guid命名
下载时,通过a标签,<a href="/images/myw3schoolimage.jpg" download="w3logo">,可以通过,do ...
- 教你如何调用百度编辑器ueditor的上传图片、上传文件等模块
出于兴趣爱好,前段时间自己尝试写了一个叫simple的cms,里面使用了百度ueditor编辑器,发现它的多图片上传模块很不错,用起来很方便,又可以选择已经上传好的图片.正好我又是个懒人,发现有现成的 ...
- 【CKFinder】解决上传中文名文件乱码和文件重命名的问题
在Windows Server 2003的服务器平台上,用CKFinder上传中文文件名的文件,上传后,文件名变成了乱码,导致文件链接找不到. 上传中文名文件乱码问题 在ckfinder/config ...
- 使用ajaxSubmit上传文件总结
一.使用步骤 ①引入文件 <script type="text/javascript" src="js/jquery-1.11.3.min.js" > ...
- 上传文件,上传文件,用Struts2处理,轻而易举……
Struts2的上传功能还是很强大的,它可以自动拦截上传文件的相关信息-- 首先需要2个必要的jar包commons-fileupload-1.2.*.jar,commons-io-1.3.*.jar ...
- 使用 smartupload 上传文件
使用 smartupload 上传文件 1.导入jar包: 2.在表单中添加表单属性:enctype="multipart/form-data": <form action= ...
- java scp 上传文件_java基于Scp实现Linux下远程获取、上传文件
前不久在项目开发中遇上的一个需求:需要在B机器上将A机器某路径下的文件拷贝到B机器上做保存. 简单分析下来,自己的理解就是:一个RPC,主要就是解决跨域传输文件的问题.在提前能拿到A机器的IP.Por ...
最新文章
- mysql 转pxc_PXC 配置笔记-从MySQL直接转成PXC集群
- 设计输出实数的格式,实数用%6.2f格式输出
- linux重启was控制台报错,Linux非WAS部署,启动报错Cannot run program \lsb_release\
- 【学习笔记】ABAP OOD设计模式 - 观察者模式
- P3368 【模板】树状数组 2(区间修改单点查询)
- 牛客网【每日一题】4月2日 月月查华华的手机
- Servlet+JSP
- SpringAOP Aspect注解实现简单日志功能
- 什么是UML统一建模语言
- Ubuntu 16.04 (Ubuntu18.04 也可以用)远程桌面(使用win10远程桌面客户端链接)和 使用vncveiwer链接的配置
- Ubuntu nautilus 快速打开文件浏览器
- Markdown 前言
- 阿里云国际版ECS云服务器Windows系统手动搭建WordPress
- kaze算法的图像配准研究(2)-匹配
- 大学四年一路走来,我把这些私藏的算法学习工具全贡献出来了!
- 【Verilog】UART异步串口的verilog实现
- 命令模式及其在Apache IoTDB中的应用
- SSL证书安全检验失败该如何处理?
- python影视数据爬虫sqlite源码+论文(完整版和简洁版)
- 医院预约挂号微信小程序
热门文章
- html和js画圣诞树图片,基于JS2Image实现圣诞树代码
- get 传值 是params
- slf4j报错:SLF4J:Failed to load class org.slf4j.impl.StaticLoggerBinder.Defaulting to no-operat有效解决办法
- 畜牧业中资金问题的解决——活体贷技术和实现原理
- 怎么批量下载哗哩哗哩B站主页视频
- python画钟表代码_Python技能操作5:用代码做个能挂墙上的大钟表
- 取得df的列名的列表,取得df的列宽,把df的列融入成为其他df的列
- 发动机太热 请不要用冷水降温
- 全球排名前四的眼药水,第一款来自欧洲老牌安瞧AGEPHA Pharma,眼科医生自留!
- 精华QT安装:qt-opensource-windows-x86-5.14.1