月度归档:2014年12月

七牛批量删除空间内的所有文件

最近在使用七牛的免费云存储服务,官方的工具好像并没有提供批量删除的功能,于是根据SDK简单写了一个批量删除的程序。

需要在php环境上使用,网盘传送门http://pan.baidu.com/s/1bntnxgV

配置好delete.php文件的bucket,accessKey和secretKey,运行即可,页面会自动刷新到全部删除完毕(删除过程中最好关闭空间的缓存,要不然会删不完啊喂!)

Debian中apache2查看/启用/禁用模块

如果我们是自己编译的apache,那么启用或禁用某个模块应该说是比较容易的事,只要修改apache的配置文件就可以了。但是我们没有理由不用已经做好的二进制文件进行安装,使用apt-get要方便多了。

但是这样的安装,apache默认会启用一部分模块,一般情况下,它已经满足了大部分的需求。但是我们的需求肯定是不能确定的如我们可能要利用apache实现重定向的功能,我们可能需要alias,rewrite模块。

实际上在apache下有两种类型的模块,一种是事先编译到apache中的,另一种是在你运行apache时载入的模块你可以使用下列命令来检查你的apache已经编译了哪些模块:

apache2 -l

事实上,在apache2的安装目录下,有这样的两个目录:

/etc/apache2/mods-enabled/ 已经被启用的模块

/etc/apache2/mods-available/ 当前系统中可用的模块

你可以使用下列命令来启用或禁用模块:

a2enmod 模块名

a2dismod 模块名

其实它的动作就是在/etc/apache2/mods-enabled/目录创建或删除一个模块对应的链接文件。当然你也可以手工做这个动作了。

Minecraft我的世界prism棱镜插件基本使用说明

鼠标查询:

首先保证自己处于空手情况,输入/prism i即可进入查询状态,鼠标左键查询点击方块历史,鼠标右键查询在当前方块的点击面上是否有方块历史。总之就是左键查现有的,右键查看不见的(比如被拆的)。

Lookup查询(推荐):

使用命令/prism l(或/prism lookup),常用的参数包括下面几个:

a:[action] – 动作,比如 “block-break”,常用的动作列表将在后面列出。

r:[radius] – 你周围多少距离的方块(半径,上天入地的圆柱体)。

r:we – 使用we区域,拿起你的木斧吧亲!

r:player:[radius] – 基于玩家和以该玩家周围指定距离的方块(远程查水表必备)。

r:x,y,z:[radius] – 基于指定坐标周围指定距离的方块。

b:[blockname/id] – 查询指定方块的id,比如b:grassb:2b:2:0

e:[entity] – 生物名,比如pig。

t:[timesince] – 查询多长时间的记录,比如 1s(秒), 20m(分), 1h(小时), 7d(天), 2w(周);比如1h20m(一小时二十分钟).

before:[time] – 查询多长时间之前的记录,时间格式类似t参数。

since:[time] – 查询多长时间之后的记录,时间格式类似t参数。

p:[player] – 查询指定玩家的记录

附录1:常用的动作列表

手懒我就不翻译了,以下来自谷歌娘的翻译,毁三观准备

block-break(块断)

block-burn(块烧伤)

block-fade(块褪色)

block-fall(块坠落)

block-form(块表)

block-place(块的地方)

block-shift(块移)

block-spread(块蔓延)

block-use(块使用)

bucket-fill(斗填写)

bonemeal-use(骨粉使用)

cake-eat(蛋糕吃)

container-access(容器访问)

craft-item(工艺项)

creeper-explode(爬山虎,爆炸)

crop-trample(作物践踏)

dragon-eat(龙吃)

enchant-item(附魔项)

enderman-pickup(末影,皮卡)

enderman-place(末影就地)

entity-break(实体断)

entity-dye(实体染料)

entity-explode(实体爆炸)

entity-follow(实体遵循)

entity-kill(实体杀)

entity-shear(实体剪切)

entity-spawn(实体重生)

fireball(火球)

hangingitem-break(hangingitem断)

hangingitem-place(hangingitem放)

item-drop(项目降)

item-insert(项目插入)

item-pickup(项目 – 皮卡)

item-remove(项目 – 删除)

lava-break(熔岩断)

lava-bucket(熔岩斗)

lava-flow(熔岩流)

lava-ignite(熔岩点燃)

leaf-decay(叶腐烂)

lighter(打火机)

lightning(闪电)

mushroom-grow(蘑菇种植)

player-chat(玩家聊天)

player-command(玩家命令)

player-death(玩家死亡)

player-join(球员加盟)

player-kill(玩家击杀)

player-quit(玩家退出)

player-teleport(玩家瞬移)

potion-splash(药水飞溅)

sheep-eat(羊吃)

sign-change(征变化)

spawnegg-use(spawnegg使用)

tnt-explode(TNT,爆炸)

tnt-prime(TNT贷)

tree-grow(树成长)

vehicle-break(车辆断)

vehicle-enter(车辆进入)

vehicle-exit(车辆退出)

vehicle-place(车辆到位)

water-break(断水)

water-bucket(水水桶)

water-flow(水流)

world-edit(世界编辑)

xp-pickup(XP-皮卡)

UMeditor为粘贴QQ截屏增加等待图片

一直在用百度的UMeditor,但是发现这个编辑器相比同出师门的Ueditor,更新频率差了很多。

在Ueditor中我们粘贴QQ截屏的时候,会先在编辑器中显示一个加载的GIF,如下图显示

QQ截图20141203170612

而在UM中完全没有这个效果,导致在实际部署中用户虽然使用了粘贴功能却不知道是否有文件正在上传。本地测试不容易发现因为上传速度太快了。

所以我们在UM中把这个功能加上即可,定位到umeditor.js,找到拖放文件到编辑区域,自动上传并插入到选区这个注释后面autoupload中的sendAndInsertImage函数

替换成如下代码

var sendAndInsertImage = function (file, editor) {

//创建模拟图片
var loadingId = 'loading_' + (+new Date()).toString(36);
var loadingHtml = '';
editor.execCommand('inserthtml', loadingHtml);

//模拟数据
var fd = new FormData();
fd.append(editor.options.imageFieldName || 'upfile', file, file.name || ('blob.' + file.type.substr('image/'.length)));
fd.append('type', 'ajax');
var xhr = new XMLHttpRequest();
xhr.open("post", me.options.imageUrl, true);
xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
xhr.addEventListener('load', function (e) {
    try {
        var json = eval('('+e.target.response+')'),
            link = json.url,
            picLink = me.options.imagePath + link;
       /* editor.execCommand('insertimage', {
            src: picLink,
            _src: picLink
        });*/
        var loader = me.document.getElementById(loadingId);
        if (loader) {
            loader.setAttribute('src', picLink);
            loader.setAttribute('_src', picLink);
            loader.removeAttribute('id');
         }
    } catch (er) {
    }
});
xhr.send(fd);
};

另外别忘了在themes\default\images文件夹下面放一个loading.gif,另存为下面这个就是了。
loading

再次测试,就可以看到效果了

QQ截图20141203171400

Microsoft Office Language Pack 2010 语言包

介绍一下Office 2010语言包的作用:

Microsoft Office Language Pack 2010 可满足经常用不同语言创建或编辑文档和演示文稿的多语言用户的需要。

在 PC 由使用不同语言的用户共享的环境中或要为不同国家/地区的客户提供服务的情况下,语言包可帮助组织部署 Office 应用程序。通过此产品,还可以灵活地自定义 Office,从而满足多语言需要。其中可能包括用许多不同语言转换整个用户体验(包括菜单和帮助内容,或仅使用拼写检查器、词典和同义词库等校对工具)。

下面提供OFFICE 2010多国语言包(32/64位)下载链接

使用方法:只要复制下面的链接,用下载工具(如迅雷)下载,安装即可。

提醒:Office 2010分为x86(32位)和x64(64位)版本,请先查询自己的版本。该语言包不能在Office 2007和Office 2003上使用。

常用语言x86(32位)版:

中文(简体): http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37690.exe
中文(繁体): http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37692.exe
英文: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37701.exe
法文: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37707.exe
德文: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37709.exe
意大利文: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37717.exe
西班牙文: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37740.exe
日文: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37718.exe
韩文: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37722.exe
俄文: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37733.exe
葡萄牙文: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37730.exe

x64(64位)版:

中文(简体): http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37627.exe
中文(繁体): http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37628.exe
英文: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37637.exe
法文: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37642.exe
德文: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37644.exe
意大利文: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37653.exe
西班牙文: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37675.exe
日文: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37654.exe
韩文: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37657.exe
俄文: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37669.exe
葡萄牙文: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37665.exe

非常用语言(请仔细看清Office版本是x86还是x64的)

阿拉伯文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37685.exe
阿拉伯文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37621.exe
保加利亚文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37688.exe
保加利亚文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37625.exe
克罗地亚文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37694.exe
克罗地亚文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37630.exe
捷克文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37695.exe
捷克文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37632.exe
丹麦文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37697.exe
丹麦文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37633.exe
荷兰文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37699.exe
荷兰文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37635.exe
爱沙尼亚文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37703.exe
爱沙尼亚文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37638.exe
芬兰文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37705.exe
芬兰文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37640.exe
希腊文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37710.exe
希腊文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37646.exe
希伯来文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37712.exe
希伯来文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37647.exe
印地文文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37713.exe
印地文文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37649.exe
匈牙利文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37715.exe
匈牙利文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37651.exe
哈萨克斯坦文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37720.exe
哈萨克斯坦文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37656.exe
拉脱维亚文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37724.exe
拉脱维亚文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37659.exe
立陶宛文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37725.exe
立陶宛文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37661.exe
挪威文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37727.exe
挪威文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37662.exe
波兰文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37728.exe
波兰文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37664.exe
葡萄牙文(巴西)x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37687.exe
葡萄牙文(巴西)x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37623.exe
罗马尼亚文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37731.exe
罗马尼亚文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37667.exe
塞尔维亚文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37735.exe
塞尔维亚文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37670.exe
斯洛文尼亚文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37738.exe
斯洛文尼亚文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37673.exe
斯洛伐克文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37736.exe
斯洛伐克文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37672.exe
瑞典文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37741.exe
瑞典文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37677.exe
泰国文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37743.exe
泰国文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37679.exe
土耳其文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37745.exe
土耳其文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37681.exe
乌克兰文x86: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37746.exe
乌克兰文x64: http://msft.digitalrivercontent.net/01/501016817-10234441–EUR//office2010/X16-37683.exe