标签归档:插件

WordPress静态化插件WP-Super-Cac

WP-Super-Cache插件介绍:
WordPress静态化插件,感觉寻找这样插件的人不在少数,人们都说WordPress非常消耗资源,所以,希望有这样的文件。与 WP-Cache 相同,可以通过缓存来提高大负载下WordPress的性能。WP Super Cache 相比 WP-Cache 最大的改进,在于加入了 Super Cache 这一环节。部分页面会根据一定的规则被缓存为 SuperCache,而这个 SuperCache 实质上就是页面本身。通过 Apache mod_rewrite 重定向直接访问这些静态文件,理论上可以获得更好的性能。

WP-Super-Cache插件安装:

下载WP-Super-Cache插件,然后上传插件到/wp-content/plugins/文件夹。
到wp管理后台插件页面激活插件,激活后插件后,它会出现红色警告,这时需要您在wp-config.php文件里加入如下代码:define(‘WP_CACHE’, true);
在后台的管理页面的Setting–>WP-Super-Cache,对这个插件进行相关的设定,进入这个页面时,在上方它会提示您,让您把wp-content的权限设置为755,设置好后,你就会看到如下图:
09033501.jpg

上图中三个选项,默认情况下,WP Super Cache 是没有开启的,所以在这里选择下,需按则第一个,就是 Super Cache,缓存为静态文件,如果第二种情况呢,则和 WP-Cache 一致,除了图中的这些选项外,页面中还有其它选项,不能一一截图,简单介绍下:
Proudly tell the world your server is Digg proof! (places a message in your blog’s footer)
这个是说在你的 footer 显示一条信息告诉读者该博客已经缓存了,一般不要这样做。

Clear all cache files when a post or page is published. (This may significantly slow down saving of posts.)
这个是说发布新日志的时候清理所有缓存,这个肯定不能这么干了。

Cache Contents
这里显示你博客缓存文件和过期文件的数量,你可以手工删除缓存文件和过期文件,因为 WP Super Cache 有垃圾回收机制,所以这里不帮不用手工删除,如果当你测试某个插件,看不到效果的时候,如果确定是缓存的原因,你可以到这里手工删除测试下。

Expiry Time and Garbage Collection
过期时间和垃圾收集,这里主要设置缓存文件过期时间,和多久删除一次过期的缓存文件。个人建议:一般缓存时间设置为1天(86400)左右,缓存删除时间为1个小时一次。

Accepted filenames, rejected URIs
这里设置一些链接不需要缓存,并且可以设置特例。

Rejected User Agents
这里设置某些 User Agents 来访问的时候不会缓存。比如 Google 和百度爬虫等。

Lock Down
一般情况下,某篇日志如果有了新留言,就会更新缓存文件,不过这篇日志是否已经到了缓存时间,但是在某种情况,你预料到你的博客可能会有很大流量和留言,候重复更新缓存文件可能并不是很好的选择,速度反而更慢,这个时候你就可以锁定缓存文件,新留言不再更新缓存日志。

Cache Plugins
缓存插件还支持附加插件,比如作者自己就提供一个插件:No Adverts for Friends,不对朋友显示广告。

 

swfupload文件批量上传插件下载

SWFUpload可以同时上传多个文件,它不但可以上传图片,也可以对其它格式比如压缩文件、文本文件、WORD文档等众多文件格式进行无刷新上传,并且在上传过程中显示上传进度;兼容性极好,可以运行于多种浏览器这中,它利用Flash与JavaScript的结合为WEB开发者提供了一个具有丰富功能的文件上传模式。

 

一、首先来比较下目前的几种的客户端上传:

1、File表单

使用标准的HTML元素提供的File表单是最原始、传统的上传方式,他的优势在于浏览器的广泛兼容性,除了服务端需要处理Files信息以外,不需要额外的处理程序即可完成文件上传。

但使用File表单上传文件会造成页面的刷新,尤其是在上传大文件的时候,在文件上传过程中,用户需要傻等在一个空白页面前,没有任何反馈信息来提示用户当前的上传进度。同时无法在客户端对文件大小做检测。

2、IFrame结合File表单

使用一个含有file表单的iframe来完成文件上传,能够避免文件上传过程中的页面刷新,在一定程度上改进了用户体验,但同样没有解决大文件上传时候缺少反馈信息的问题。相比File表单上传,此方式还需要对程序做额外的处理,同时需要JS的支持,复杂度稍微增加了一些。

3、IFrame、File表单结合AJAX

在方式2的基础上引入AJAX来实时跟服务端脚本获取当前的上传进度,实现了页面无刷新、实时更新上传进度的功能。但程序的复杂度又增加了一个级别,由于要不断跟服务端发送请求,同时也增加了服务端的压力。

4、Activex控件

使用控件方式完成的上传在功能和效率上都很不错,页面无刷新、显示上传进度、批量上传,个人认为遗憾就在于需要在浏览器上安装控件,而且只能支持IE,弹出那么个安装提示可能会吓倒多数用户,开发的复杂度也提高了。

 5、Flash

Flash的FileReference类提供了文件上传功能,相对于传统的File表单而言,Flash上传能够获取客户端的文件的更多信息反馈,例如文件大小、类型、创建、修改时间等,利用这些信息可以在客户端对文件进行类型和大小等属性的一次过滤。

FileReference类提供了多文件上传功能。

Flash直接向服务端发送文件数据,因此Flash本身是可以随时知道文件上传数据而显示上传进度,而不需要使用AJAX的方式不断跟服务端发送请求增加服务端的压力。

 弊端在于客户端需要Flash播放器的支持,而且在一个页面中插入一个Flash,从UI元素的统一角度来看,似乎有些别扭,如果页面需要更改风格,那么Flash还需要重新修改然后编译,而且程序开发的复杂度也提高了。

6、Flash结合JavaScript

在方式5的基础上,将Flash隐藏起来,利用JavaScript来控制Flash元素处理文件上传,Flash使用ExternalInterface来完成跟JavaScript的通信,将页面元素的控制权交给JS。这样就避免了方式5中的UI元素不统一、修改不灵活的弊端。但代价就是Flash程序开发的复杂度再次提高了,同时也需要更高的JS和XHTML开发能力。

以上列举了目前我所了解的浏览器环境下文件上传的方式,并对其优劣都做了简单的罗列,在实际开发中我们可以根据自己的应用来选择合适的方式,假如我们的需求只是用户给自己上传一个10K不到的头像,如果我们还大费周折地实现了头像上传的进度提示,那就是事倍功半了,因为在目前的绝大多数网络情况下,一个10K的文件传输是一眨眼的功夫。

 二、关于SWFUpload

如果项目中在浏览器环境下需要高级上传功能,那么我个人认为使用方式6是最合适的选择,而SWFUpload在很大程度上降低了开发的复杂度,它提供了一个编译好的不包含任何UI元素的Flash影片,并将浏览器的中UI交给开发人员来控制。开发人员能够利用XHTML,CSS,Javascript来定制符合他们网站风格的UI上传元素。然后使用它提供的一组简单的JS事件来更新上传状态,开发人员能够利用这些事件来及时更新页面中的上传进度UI,针对错误、异常等给用户反馈。

关于SWFUpload的使用,我已经将官方文档结合自己使用的关键点做了一个翻译和备注,可见SWFUpload翻译,网上也经常有朋友问我要例子演示,实际上官方的demo就是很好的例子,自己下载下来仔细看看问题不大的。这里我只是想针对一些朋友问起过的问题的误区来回答下SWFUpload不能做什么。

1、它不能在服务端写文件

你可以把SWFUpload理解成是一个功能更强大一点的file表单,它的能力范围仅仅在客户端作用,它只能往upload_url对应的服务端程序发送文件数据,并不能自己自动在服务端写一个文件。因此upload_url对应的服务端程序需要跟接收传统的File表单信息一样接收Flash传递过来的文件信息,然后根据自己需求完成该文件的存储。

2、它不能保留原有的Session进程

SWFUpload在上传时相当于重新开辟了一个新的Session进程,因此无法与原有程序的Session保持一致,这就造成了你无法像传统的表单上传那样访问客户端标识。

如果你需要这个客户端标识,那么就需要额外程序处理了。你可以在发送文件信息之前,利用JS将获取的Cookie信息写入到SWFUpload的配置中,如果你使用的是FLASH9版本,你还可以把这个信息写入到POST变量中一同发送。

或者在页面初始化SWFUpload实例的时候,可以直接将客户端标识写入在设置中(例如,在upload_url中增加客户端标识),无需随后使用JS来增加标识。

3、在选择文件的时候,它不会让超出文件大小限制的文件不可见

假如你设置的是允许用户上传3M以下的JPG图片,那么当用户打开文件选择对话框时,他只能看到系统中的文件夹和JPG图片,类型过滤是有效的,但大小过滤无效,也就是说你看到的文件并非都是3M以下的。

实际上文件大小的过滤是在文件入队的时候进行的,如果你选择的是一个5M的文件加入队列,那么会触发一个QueueError事件来提示你该文件没有通过过滤检测。

4、即使你用的是Flash9版本,它也不能自动把你的表单一起自动提交到服务端

AS3中新的URLRequest对象让文件上传的时候可以一同发送POST变量,但这一过程并不是自动的,因此当你上传文件的时候,SWFUpload还没有智能到自动识别你的Form中的所有表单元素,并把他们一起POST到服务端。

如果你确实有这个需求,那么在上传前,你可以使用JS将目标表单的name和value构造成值对,然后使用addPostParam或者addFileParam方法来设置POST变量跟文件一同提交到服务端。

如果不想采取这种方式,那么还有个省力的方式。你可以先上传文件,当该文件上传完成以后利用JS来提交Form表单,由服务端逻辑来完成这两次“异步”提交数据的关联性,该实现方式的过程跟IFrame结合File表单实现异步上传相同。

5、它不能自动完成多文件上传

SWFUpload提供文件多选功能,但并没有提供多文件自动上传功能。多选的文件都会插入到上传的文件队列中,如果你要完成多文件上传,那么可以在uploadComplete事件的回调中调用startUpload方法来启动下一个文件的上传。如此进行下去,直到整个文件队列中的文件全部自动上传完成,整个上传才会停止。

6、它不能真正限制用户上传的文件数量

设置中的file_upload_limit只是针对当前页面中的一个SWFUpload实例有效,当页面刷新,该值就被恢复重置了。它并不能记住先前的上传数量。如果你需要严格限制用户上传的文件数量,那么就需要通过服务端逻辑来实现。

7、它不是“多线程”的,一个时间点只能上传一个文件

SWFUpload虽然能完成多文件上传,但它是“单线程”的,当此刻有文件上传的时候,无法启动下一个文件上传,必须等待当前文件上传结束(退出、停止、上传完毕)。

swfup.rar

phpwind插件 鲜花鸡蛋

插件名称:鲜花鸡蛋插件 for phpwind 5.x

演示地址:http://bbs.lossr.com

//注:本插件我在我论坛正式可用,增加送鲜花鸡蛋提示功能。

一些设置可以到 mmcegg.php 里去改。那里我都有注释了。很容易上手。。

———————————————————————————————————-

强烈提示: 注意检查你的论坛数据表前缀: pw_  如果你的表前缀是pw_ ,那就可以直接安装,
           不过不是,请修改:db_hack.php 和 mmcegg.php 文件。在这两个文件里查找:pw_ 替换成你自己的表。
OK。开始以下步骤:

1、把所有文件上传到论坛目录,运行db_hack.php升级数据库!

2、在read.php里查找

m.hack,m.honor,

替换成

m.hack,m.honor,m.egg,m.flower,
注意有两处

3、
在风格文件里template/wind/read.htm里查找“最后登陆:”在他下一行增加如下代码
如果你的当前风格里也有read.htm,那就要在这文件里改。

<br><img src=./images/flower.gif width=16 height=15><a href=mmcegg.php?fid=$fid&tid=$tid&pid=$read[pid]&fpage=$fpage&page=$page&mmcbbsid=$read[uid]&mysid=$read[authorid]&action=flower> 鲜花(<font color=#FF0000><b>{$read[flower]}</b></font>)</a> <img src=./images/egg.gif width=16 height=15><a href=mmcegg.php?fid=$fid&tid=$tid&pid=$read[pid]&fpage=$fpage&page=$page&mmcbbsid=$read[uid]&mysid=$read[authorid]&action=egg> 鸡蛋(<font color=#0000FF><b>{$read[egg]}</b></font>)</a>

4、使用系统的提示窗口,修改风格文件夹(template/wind/)下面的lang_refreshto.php,在10行之后添加:

'flower_success'              =>"<a href=thread.php?fid=$fid>[ 送鲜花操作完成点击进入主题列表 ]</a>",
'egg_success'                     =>"<a href=thread.php?fid=$fid>[ 扔鸡蛋操作完成点击进入主题列表 ]</a>",

113

pw phpwind插件 当内容达到一定程度的时候显示文章地址

<!–
EOT;
$number=strlen($read[content]);
if($read[lou] ==0&$number  >200){print <<<EOT
–>
<br />
本文由 $read[author] 在 <a href="http://bbs.lossr.com">今世佳缘</a> 发表 转载请注明出处,本帖地址:<a href="http://bbs.lossr.com/read.php?tid=$tid">http://bbs.lossr.com/read.php?tid=$tid
<!–
EOT;
}print <<<EOT
–>

$number  >200 200为文章字节数,增加这个数字越大就是文章越长的时候显示链接地址