现在我们来说一下自动在线转换DOC.PDF.xls等文件本地生成SWF文件!
拿豆丁网来说,你上传一个doc或者pdf文件以后,它会自动转换成flash(swf)文件,很神奇吧!
其实,说来也简单,下面我们就看看PHP大神是怎么做的!
首先,需要一个小工具,它就是FlashPaper2.2(下载)!
有了它,我们就来写代码吧。<?php
$file=dirname(__FILE__).´1.doc´;
$swf=$file.´_view.swf´;
$command = dirname(__FILE__)."FlashPaper2.2FlashPrinter.exe {$file} -o {$swf}";
system($command) ;
?>
看它,简单吗?
12月19日很荣幸的参加了CU举办的PHP交流会,可能准备的时间比较仓促我写的《完全用nosql轻松打造千万级数据量的微博系统》ppt,大家可能不能很好的理解。我现在整理一下重新分享给大家,有什么问题,可以加我的QQ或者发mail跟我讨论.
其实微博是一个结构相对简单,但数据量却是很庞大的一种产品.标题所说的是千万级数据量也并不是一千万条微博信息而已,而是千万级订阅关系之间发布。在看我这篇文章之前,大多数人都看过sina的杨卫华大牛的微博开发大会上的演讲.我这也不当复读机了,挑重点跟大家说一下。
大家都知道微博的难点在于明星会员问题,什么是明星会员问题了,就是刘德华来咱这开了微博,他有几百万的粉丝订阅者,他发一条微博信息,那得一下子把微博信息发布到几百万的粉丝里去,如果黎明、郭富城等四大天王都来咱来开微博,那咱小站不是死翘翘了.所以这时消息队列上场了。在我的架构里 有一个异步publish集群,publish的任务都去zeromq队列读取队列.zeromq是目前已知开源的消息传递最快的一个。具体关于zeromq可以自己google。zeromq有一个问题是不能持久化数据,这个自己做持久化存储.回过刚才那个话题, 把明星会员的粉丝按照"活跃度"进行分级。"活跃度"是根据登陆频度,时间,发布微博等因素大致分为铁杆粉丝、爱理不理、半死不活三大类分到不同的发布集群中去. 铁杆粉丝类型的异步发布集群,发布速度肯定是最快的.微博的信息是用handler socket保存到mysql。这个信息ID,是用rdtsc+2位随机整数拼接而成的 64位整数唯一ID,防止出现自增ID出现的多服务器 id一致性的问题. 在publish的时候,集群只是把微博信息的ID发送给redis的订阅者。所以这个数据是很快的。而且订阅者的list里只保存的是ID.在内存的占用率上也不是很高.
(PHP 4 >= 4.0.4, PHP 5)
ctype_alnum — Check for alphanumeric character(s)
检测是否是只包含[A-Za-z0-9]
ctype_alpha — Check for alphabetic character(s)
检测是否是只包含[A-Za-z]
ctype_cntrl — Check for control character(s)
检查是否是只包含类是“rbt”之类的字符控制字符
ctype_digit — Check for numeric character(s)
检查时候是只包含数字字符的字符串(0-9)
ctype_graph — Check for any printable character(s) except space
检查是否是只包含有可以打印出来的字符(除了空格)的字符串
ctype_lower — Check for lowercase character(s)
检查是否所有的字符都是英文字母,并且都是小写的
ctype_print — Check for printable character(s)
检查是否是只包含有可以打印出来的字符的字符串
ctype_punct — Check for any printable character which is not whitespace or an alphanumeric character
检查是否是只包含非数字/字符/空格的可打印出来的字符
ctype_space — Check for whitespace character(s)
检查是否是只包含类是“rbt”之类的字符和空格
ctype_upper — Check for uppercase character(s)
检查是否所有的字符都是英文字母,并且都是大写的
ctype_xdigit — Check for character(s) representing a hexadecimal digit
检查是否是16进制的字符串,只能包括“0123456789abcdef
interface IA{
public function foo();
}
class A implements IA{
public function foo(){
echo "A.foo ";
}
public function bar(){
echo "A.bar ";
}
}
class B{
public function foo(){
echo "B.bar ";
}
public function notBar(){
echo "B.notBar ";
}
}
//请注意这里的限制
function faint(IA $f){
$f->foo();
}
//这行可用
faint(new A);
//这行报错
faint(new B);