Webfmt 1.0 产品手册
Fbis source
作者:秦柏林
2011 年 8 月
Webfmt 1.0.0 fbis source
第 2页 共 17页
目录
Webfmt 1.0 产品手册 ..................................................................................................................... 1
目录 .................................................................................................................................................. 2
什么是 Webfmt ................................................................................................................................ 3
特点........................................................................................................................................... 3
界面........................................................................................................................................... 3
开发人员向导 ................................................................................................................................... 4
系统基本需求 ........................................................................................................................... 4
浏览器 ............................................................................................................................... 4
php 版 ....................................................................................................................................... 4
服务器 ............................................................................................................................... 4
安装 ................................................................................................................................... 5
配置 ................................................................................................................................... 5
安全性....................................................................................................................................... 8
页面集成................................................................................................................................... 8
CKEditor 集成 ............................................................................................................................ 9
语言本地化............................................................................................................................. 10
语言文件命名法则 ......................................................................................................... 10
本地化 ............................................................................................................................. 11
用户向导......................................................................................................................................... 14
上传文件................................................................................................................................. 14
新建文件夹............................................................................................................................. 15
删除文件................................................................................................................................. 16
删除文件夹............................................................................................................................. 16
授权
协议
离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载
(License) .......................................................................................................................... 16
开源协议................................................................................................................................. 16
商业授权协议 ......................................................................................................................... 16
Webfmt 1.0.0 fbis source
第 3页 共 17页
什么是 Webfmt
Web File Management Tool (Webfmt),文件管理工具. webfmt 是一个功能强大的,很容易使用
的,很容易和自己系统集成的基于浏览器的 ajax 文件管理组件,界面和操作都很简单,和在 Windows 下文
件管理基本一致,各类用户能很快掌握其使用方法
webfmt 用于对 web site 文件(包括图片、flash、html、下载文件等资源)统一管理,实现相同的资源
多整个网站共享、共用,避免网站内容资源文件混乱、重复,同时可以更加灵活的实现部署网站内容。
webfmt 也可以作为一个文件服务器的管理内核及操作界面。例如:基于 webfmt 定制一套用户及权限
管理系统就可以做成一个 nas 服务器.
webfmt 是一个安全的文件管理系统。针对文件各种操作提供有自定义处理接口,例如上传文件自动
重命名,用户是否登录,哪些类型文件允许上传,上传后对文件的检查等等.
下载地址:http://www.webfmt.com/download.html
联系我们:email:webfmt@gmail.com
特点
文件夹树:对所有用户很直观
高质量的缩略图,能很快找到我们要选择的对象
多国语言支持,自动用户语言检测
丰富的文件及文件夹上下文菜单
用户可完全控制:创建,重命名,复制,移动和删除文件夹和文件。
完整的开发控制,有完整的后端钩子函数及扩展。
可以同用户权限验证系统轻松集成
限定用户操作文件夹,在对文件操作,用户无法切换到其它目录
轻量级的用户界面
无页面刷新的提交方式
安全的文件上传,上传的文件会根据设定的规则检查,可限定上传文件类型与大小,可以自动重命名文
件
完整的源代码,包含服务器端集成代码。
可以和 ckeditor,tinymce 这类在线 html 编辑器轻松集成
Html5 部分支持,在 firefox4 及 chrome12 实现了拖拽上传文件,一次多个文件上传
可以通过编程或配置方式实现单选或多选
在集成使用中可以通过调用参数实现显示或隐藏 ok,cancel 按钮方便用户选择与确定
有 2 种方式将选择结果返回。1、传入接收返回值的 id;2、通过回调函数.这两种方式可以同时使用
完整的服务端 hook Api 定义,方便系统集成文件相关处理
通过服务端配置,控制显示文件类型
广泛的浏览器支持 firefox3.5,ie7.0, chrome12.0 , safari3.5,opel10.0
支持 linux,windows,unix 操作系统
界面
Webfmt 1.0.0 fbis source
第 4页 共 17页
(1)文件夹面版: 显示文件夹树
(2)文件视图: 列出选中文件的所有文件
(3)文件菜单: 文件操作菜单.
(4)文件夹菜单: 文件夹操作菜单
开发人员向导
系统基本需求
浏览器
Webfm完全支持以下浏览器
Internet Explorer 7.0+
Firefox3.5+
Safari 3.5+
Google Chrome 12.0+
Opera 10.0+
php 版
服务器
Php5.2 以后的版本
图片缩略需要 GD 扩展支持
Webfmt 1.0.0 fbis source
第 5页 共 17页
安装
1. 复制程序到你的站点的任意文件夹下
2. 创建一个存放资源的文件夹,例如:/upfile
3. 编辑 config.php 配置你的上传路径(网站的绝对 url),允许上传的文件类型,允许上传的最大文
件大小以及上传文件保存前的处理函数,保存后的处理函数,创建文件夹前或后的处理函数;系统登录验
证函数,是否对上传文件自动重命名,删除文件前处理函数,删除文件后处理函数,删除文件夹前处理函
数,删除文件夹后处理函数,重命名文件前处理函数,重命名文件后处理函数,重命名文件夹前处理函数,
重命名文件夹后处理函数。详细请看配置
4. 确信你的 php 打开了 GD 扩展
配置
服务端配置
webfmt 配置文件是 config.php
1、 用户验证项
函数原型 bool IsLogin() 返回 true 表示登录,false 表示未登录
默认配置此函数是 null,不做用户是否登录判断
配置:在 config.php 引用实现此函数的 php 文件,在配置项"IsLogin" => null,将 null 改成@+登录验证的函数名.
例如:
验证函数:
function login_check()
{
return ($_SESSION['login'] != "ok");
}
将”IsLogin”项做如下配置
“IsLogin”=>@login_check,
如果实现函数不在 config.php 里,请在 config.php 里包含函数实现文件。
2、上传文件类型
在 config.php 中找到配置项"allowfiletype" => array()在 array 中输入你允许上传文件的扩展名,
注意要小写.例如:"allowfiletype" => array("jpg", "png", "ico", "bmp", "jpeg", "gif", "tif",
"fla", "swf",
"zip", "7z", "rar", "tar", "gz",
"doc", "docx", "rtf", "xls", "xlsx", "cvs", "rtx", "txt", "ppt", "pptx",
"pdf", "xml"
)
调用端也可以配置上传文件类型限制,但是那个配置必须是这个配置的子集。
2、 上传文件大小限制
在 config.php 中找到配置项"maxsize" => 2 * 1024 * 1024,修改对应数字,默认是 2M。
3、 上传路径配置
Webfmt 1.0.0 fbis source
第 6页 共 17页
在 config.php 中找到配置项"basedir" => "/upfile",修改此路径为你的上传文件路径,这个路径在调用页
面是无法改变的,出于安全考虑,webfmt 的所有操作都被限定在这个路径下
5、上传文件自动重命名
在 config.php 中找到"autorename" => true 项,true 表示自动重命名。如果没有提供自定义重命名规则
那么系统将使用默认规则(日期+序列);如果需要自定义文件命名规则那么必须配置对应的重命名函数
"filenamefun" => null 项,将此项的 null 配置成对应的重命名函数,例如:
function UploadRename($ext)
{
$name=date("Ymd") . uniqid() .$ext;
return $name;
}
“filenamefun”=@UploadRename
如果实现函数不在 config.php 里,请在 config.php 里包含函数实现文件。
服务端 hook Api
通过服务端 hook api 使得 webfmt 能更好的和你的软件集成在一起,这些 api 帮助你实现对文件的各种
操作的掌控.当然你也可以通过这些 api 实现 ACL
1、上传文件保存前处理
函数原型 bool function beforeSave($filename,$ext)
参数:
$filename 文件名(原始的)
$ext 文件扩展名
返回 true 表示允许保存,
否则 不允许保存,将放弃这个上传的文件
对应配置项在 config.php 中"beforesave" => null,
2、上传文件保存后处理
函数原型 function afterSave($filename,$ext)
参数:
$filename 文件名(原始的)
$ext 文件扩展名
对应配置项 "aftersave" => null,
3、删除文件前处理
函数原型 function beforedel($fileobj)
返回 true 表示允许保存,否则不允许保存
参数:
fileobj 对象
fileobj.fname 文件名
fileobj.url 文件的 url
对应配置项"beforedelfile" => null,
4、 删除文件后处理
函数原型 function afterdel($fileobj)
参数:
Webfmt 1.0.0 fbis source
第 7页 共 17页
fileobj 对象
fileobj.fname 文件名
fileobj.url 文件的 url
对应配置项"afterdelfile" => null,
5、重命名文件前处理
函数原型 function beforerename($oldname,$newname)
参数:
$oldname 原来文件名
$newname 即将修改的文件名
返回 false 禁止重命名
对应配置项"beforerenamefile" => null,
6、重命名文件后处理
函数原型 function afterrename($oldname,$newname)
参数:
$oldname 原来文件名
$newname 现在的文件名
对应配置项"afterrenamefile" => null,
7、删除文件夹前处理
函数原型 function beforeRmfolder($folder)
参数:
$folder 要删除的文件夹
返回 false 禁止删除该文件夹
对应配置项"beforedeldir" => null,
8、删除文件夹后处理
函数原型 function afterRmfolder($folder)
参数:
$folder 删除的文件夹
对应配置项"afterdeldir" => null,
9、重命名文件夹前处理
函数原型 function beforeRenamefolder($oldfolder,$newfolder)
参数:
$oldfolder 重命名的文件夹
$newfolder 新的文件夹名
返回 false 禁止重命名该文件夹
对应配置项"beforerenamedir" => null,
10、重命名文件夹后处理
函数原型 function beforeRenamefolder($oldfolder,$newfolder)
参数:
$oldfolder 重命名的文件夹
$newfolder 新的文件夹名
对应配置项"afterrenamedir" => null
Webfmt 1.0.0 fbis source
第 8页 共 17页
安全性
通过 config.php 提供了安全设置.
所有文件操作,被限定在一个文件夹下,不能切换到这文件夹之外的文件夹操作。
设置上传文件自动重命名,可以防止通过上传脚本发起攻击.
通过控制上传文件类型可以防止上传脚本攻击文件。
通过参数或配置控制上传文件的大小,可以防止超大文件上传,影响服务器性能。
在客户端与服务端都会检查上传文件的类型与大小,不符合配置规则文件将被拒绝上传或被抛弃。
页面集成
在读这节文章前请先读安装和配置,确定 webfmt 已经在你的 web site 安装配置好了。
webfmt 集成非常简单
在集成的页面的与之间需要增加代码
调用 CWebfmt.show方法显示 CWebfmt.show(param,800,600,true);
CWebFmt. show=function(param,height,width,IsPop)
参数:
param是参数对像,可以配置的键有:
"basedir":"/upfile",
"ftype":["gif","png","jpg","zip"],
"selmod":"multiselect",
"showok":1,
"maxszie":2*1024*1024,
"filesid":"selfile",
"folderid":"selfolder",
"ReturnFunc":"webfmt_callback",
"lang":"en"
basedir 文件导航树的根路径,这个路径必须是服务端配置的根路径或其子路径
ftype 允许上传的文件类型,这里的允许上传文件类型必须是服务端配置的子集,否则无效。
selmod 文件选择模式,只有单选和多选(multiselect),默认单选(single)
showok 是否在页面最下方显示 ok,cancel按钮,用于确定对文件与文件夹的选择
maxsize 允许上传文件的最大值。这里的文件上传最大尺寸必须小于服务端配置的允许文件上
传最大尺寸,否则无效配置。
lang 界面语言。如果不配置此项,那么系统自动根据浏览器语言进行选择。目前只支持中
文与英文,其它语言支持需要做本地化处理,本地化请参见语言本地化
filesid 调用页面元素的 id,用来返回用户选择的文件 url,多个文件用”|”分割
folderid 调用页面元素 id,用来返回用户选择的文件夹
ReturnFunc 用户选择的回调函数,通过回调函数,可以取得选择的文件 url,及文件夹
height,窗体高
Webfmt 1.0.0 fbis source
第 9页 共 17页
width 窗体宽
IsPop 是否弹出窗体,只有在弹出窗体的情况前两个参数才有效
例如:
selected folder
brows
call back function excute result:
CKEditor 集成
与 ckeditor3.3.1 以后版本均可用以下方式集成,3.3.1 以前的版本没有测试过,情况未知
例子:
Webfmt 1.0.0 fbis source
第 10页 共 17页
语言本地化
目前 webfmt 只支持两种语言,英语及简体中文.
如果有其它语言需求,需要做本地化语言处理
语言文件命名法则
在 webfmt 的路径下有 lang 文件夹,里面存放各种语言文件,文件命名规则:
同浏览器语言规定语种代码的国际
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
,例如:英语 en.js,简体中文:zh-cn.js
以下是一些主流语言的文件命名:
英语: en.js
法语: fr.js
德语: de.js
西班牙语: es.js
俄语: ru.js
意大利语: it.js
简体中文: zh-cn.js
繁体中文: zh-tw.js
日语 : ja.js
韩语、朝鲜语: ko.js
如果你不知道某种语言的代码,请创建一个如下的页面来获取:
Webfmt 1.0.0 fbis source
第 11页 共 17页
本地化
在 lang 文件夹下创建语言文件,例如:zh-cn.js,复制 en.js 的内容到文件 zh-cn.js 中,如下:
var fbis=fbis||{};
fbis.lang={
"en":{ //语言名称
"warning":"warning",
"question":"question",
"information": "information",
"loadfile":"Loading...",
"refresh":"Refresh",
"createfolder":"New folder",
"renamefolder":"Rename",
"delfolder":"Delete",
"delfile":"Delete",
"selectall":"Select all",
"unselect":"Deselect all",
"view":"View",
"smallicon":"icon",
"zoomimage":"image",
"delfail":"Delete fail!",
"delsuccess":"Delete successfull!",
"createfail":"Create faile!",
"modifysucc":"Rename successfull!",
"modifyfail":"Rename fail!",
"createsuccess":"Create successfull!",
"delfdq":"Are you sure want to delete the selected folder?",
"delflq":"Are you sure you want to delete the selected file(s)?",
"inputnewfd":"Please input new folder name",
"inputnewfn":"Please input new file name",
"help":"Help",
"about":"About",
"button":{
"ok":"ok",
"cancel":"cancel",
"close":"close",
Webfmt 1.0.0 fbis source
第 12页 共 17页
"upload":"Upload"
}, //按钮类型定义
"upload":
{
"title":"upload",
"progress":"upload progress",
"cancelupload":"cancel upload",
"uploading":"uploading...",
"success":"upload successfull",
"fail":"upload fail"
},
"error":"error",
"errormsg":{ //错误编码及对应消息
"-1":"not login",
"-2":"not file",
"-3":"file exits",
"-4":"not allow file type",
"-5":"exception",
"-6":"move file fail",
"-7":"forbidden this type file uploading",
"-8":"file size too large",
"-9":"folder has exists,create fail",
"-100":"not result",
"-101":"param format is wrong",
"-200":"send data timeout",
"-300":"not respons",
"-500":"submit data exception"
}
}
};
将语言值改成对应的语言名称,这里将”en”改成”zh-cn”。
将键对应的值翻译成都应的中文,保存文件,本地化完成。
本地化后的内容:
var fbis=fbis||{};
fbis.lang={
"zh-cn":{
"warning":"警告",
"question":"询问",
"information": "提示",
"loadfile":"加载文件...",
"refresh":"刷新",
"createfolder":"创建",
"renamefolder":"重命名",
"delfolder":"删除",
Webfmt 1.0.0 fbis source
第 13页 共 17页
"delfile":"删除",
"selectall":"全选",
"unselect":"取消选择",
"view":"查看",
"smallicon":"图标",
"zoomimage":"缩略图",
"delfail":"删除失败!",
"delsuccess":"删除成功!",
"createfail":"创建失败!",
"modifysucc":"修改成功!",
"modifyfail":"修改失败!",
"createsuccess":"创建成功!",
"delfdq":"你确定要删除文件夹?",
"delflq":"你确定要删除这些文件?",
"inputnewfd":"请输入新的文件夹名",
"inputnewfn":"请输入新文件名",
"help":"帮助",
"about":"关于",
"button":{
"ok":"确定",
"cancel":"取消",
"close":"关闭",
"upload":"上传"
}, //按钮类型定义
"upload":
{
"title":"上传文件",
"progress":"上传进度",
"cancelupload":"取消上传",
"uploading":"正在上传...",
"success":"上传成功",
"fail":"上传失败"
},
"error":"错误",
"errormsg":{ //错误编码及对应消息
"-1":"系统需要登录",
"-2":"没有文件上传",
"-3":"文件已存在服务器",
"-4":"不允许的文件类型",
"-5":"发生异常",
"-6":"移动文件失败",
"-7":"该类型文件被禁止上传",
"-8":"文件超出最大限制",
"-9":"创建文件夹失败,文件夹已存在",
Webfmt 1.0.0 fbis source
第 14页 共 17页
"-100":"没有返回结果",
"-101":"请求参数不正确",
"-200":"发送数据超时",
"-300":"服务器无响应",
"-500":"提交数据异常"
}
}
};
用户向导
上传文件
在右边区域 4,选中需要上传的目标文件夹,默认是配置的路径下
点击菜单栏的“上传”按钮,弹出上传文件选择对话框,选择需要上传的文件,
Webfmt 1.0.0 fbis source
第 15页 共 17页
点击打开,弹出上传进度对话框
如果文件符合上传配置规则,那么将显示上传成功,否则显示失败,点击“关闭”按钮,关闭对话框。
在 firefox4.0+,chrome12.0+的浏览器中,支持直接将需要上传的一个或多个文件直接拖拽到文件显示区
域。
在 firefox4.0,chrome12.0+中,支持一次选择多个文件上传.
新建文件夹
如果需要指定父文件夹,在文件夹树上选中,文件夹,否则默认是设定路径,点击文件夹区域菜单“新
建”,弹出输入对话框,输入文件夹名称,点击“确定”按钮,创建完成。注意:文件夹名称只能是英文名
Webfmt 1.0.0 fbis source
第 16页 共 17页
称!
删除文件
在文件区域选中要删除的文件,点击文件区域菜单“删除”,文件被删除。
删除文件夹
在文件夹区域,用鼠标选中想要删除的文件夹,在菜单上点击“删除”按钮,如果文件夹为空,删除
成功,否则先删除文件夹下所有文件,再删除文件夹。
授权协议(License)
webfmt产品由秦柏林设计开发, webfmt软件的一切知识产权,以及与webfmt相关的信息内容,包括
但不限于文字表述及其组合、图标、图饰、图表、色彩、界面设计、版面