<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet href='http://feed.feedsky.com/styles/temp01.xsl' type='text/xsl' ?><!--这是一个由Feedsy提供技术支持的Feed，为了提高读者阅读的体验，以及满足用户美化自己Feed的需要，我们设计了多种精美的Feed模板，提供给大家选择，所有最终呈现出来的样式，皆由用户自愿选择使用，未经许可，任何团体和个人，请不要擅自修改样式或者盗用，这是对于用户选择权的尊重。--><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:fs="http://www.feedsky.com/namespace/feed" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link href="http://feed.feedsky.com/scofield_pan" type="application/rss+xml" rel="self"></atom:link><fs:self_link href="http://feed.feedsky.com/scofield_pan" type="application/rss+xml"></fs:self_link><lastBuildDate>Mon, 06 Feb 2012 10:25:01 GMT</lastBuildDate><title>scofield PHP开发-SEO SEM</title><description>专注于PHP开，linux开发，SEO，SEM，网络营销推广，项目管理</description><link>http://www.gosoa.com.cn</link><sy:updatePeriod>hourly</sy:updatePeriod><sy:updateFrequency>1</sy:updateFrequency><language>en</language><pubDate>Tue, 07 Feb 2012 10:12:10 GMT</pubDate><item><title>http_build_query 的一个问题</title><link>http://www.gosoa.com.cn/http_build_query-%e7%9a%84%e4%b8%80%e4%b8%aa%e9%97%ae%e9%a2%98</link><content:encoded>&lt;p&gt;当我们使用CURL来post数据的时候，需要设置post的数据&lt;br /&gt;
curl_setopt($c, CURLOPT_POSTFIELDS, $post_data);&lt;/p&gt;
&lt;p&gt;假如这里的$data是&lt;/p&gt;
&lt;pre name=&quot;php&quot;&gt;
$data = array(
   'name'=&gt;'scofield',
   'time'=&gt;'2012-2-3'
)
&lt;/pre&gt;
&lt;p&gt;接下来，需要先将$data变成字符串&lt;br /&gt;
$post_data =  http_build_query($data);&lt;br /&gt;
而采用 http_build_query 转换后再&lt;br /&gt;
curl_setopt($c, CURLOPT_POSTFIELDS, $post_data); &lt;/p&gt;
&lt;p&gt;看起来没有什么问题。但在实际操作中，$post_data 并没有被post过去。于是，自己写了个转换的方法后就OK了。&lt;/p&gt;
&lt;pre name=&quot;php&quot;&gt;
 function getStr($array,$Separator='&amp;#038;') {
        if (empty($array))
            return;
        if (!is_array($array)) {
            return $array;
        }
        $returnStr = '';
        foreach ($array as $key =&gt; $val) {
            $temp = '';
            if (is_array($val)) {
                for ($i = 0; $i &lt; count($val); $i++) {
                    $returnStr .= $key . '[' . $i . ']' . '=' . $val[$i] . $Separator;
                }
            } else {
                $returnStr.= $key . '=' . $val . $Separator;
            }
        }
        $returnStr = substr(trim($returnStr), 0, -1);
        return $returnStr;
    }
&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;感谢 黄斌-huangbin  童鞋的测试   http_build_query($data,&quot;&quot;,&quot;&amp;#038;&quot;);  即可，无需自己写方法解析了。&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602811698/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/http_build_query-%e7%9a%84%e4%b8%80%e4%b8%aa%e9%97%ae%e9%a2%98&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.gosoa.com.cn/http_build_query-%e7%9a%84%e4%b8%80%e4%b8%aa%e9%97%ae%e9%a2%98/feed</wfw:commentRss><slash:comments>0</slash:comments><description>当我们使用CURL来post数据的时候，需要设置post的数据 curl_setopt($c, CURLOPT_POSTFIELDS, $post_data); 假如这里的$data是 $data = array( 'name'=&gt;'scofield', 'time'=&gt;'2012-2-3' ) 接下来，需要先将$data变成字符串 $post_data = http_build_query($data); 而采用 http_build_query 转换后再 curl_setopt($c, CURLOPT_POSTFIELDS, $post_data); 看起来没有什么问题。但在实际操作中，$post_data 并没有被post过去。于是，自己写了个转换的方法后就OK了。 function getStr($array,$Separator='&amp;#038;') { if (empty($array)) return; if (!is_array($array)) { return $array; } $returnStr = ''; foreach ($array as $key =&gt; $val) { $temp = ''; if (is_array($val)) { for ($i = 0; [...]&lt;img src=&quot;http://www1.feedsky.com/t1/602811698/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/http_build_query-%e7%9a%84%e4%b8%80%e4%b8%aa%e9%97%ae%e9%a2%98&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>PHP开发</category><category>PHP</category><category>http_build_query</category><pubDate>Mon, 06 Feb 2012 18:25:01 +0800</pubDate><author>admin</author><comments>http://www.gosoa.com.cn/http_build_query-%e7%9a%84%e4%b8%80%e4%b8%aa%e9%97%ae%e9%a2%98#comments</comments><guid isPermaLink="false">http://www.gosoa.com.cn/?p=628</guid><dc:creator>admin</dc:creator><fs:srclink>http://www.gosoa.com.cn/http_build_query-%e7%9a%84%e4%b8%80%e4%b8%aa%e9%97%ae%e9%a2%98</fs:srclink><fs:srcfeed>http://www.gosoa.com.cn/feed</fs:srcfeed><fs:itemid>feedsky/scofield_pan/~8141888/602811698/6245684</fs:itemid></item><item><title>一个有意思的日期逻辑处理</title><link>http://www.gosoa.com.cn/%e4%b8%80%e4%b8%aa%e6%9c%89%e6%84%8f%e6%80%9d%e7%9a%84%e6%97%a5%e6%9c%9f%e9%80%bb%e8%be%91%e5%a4%84%e7%90%86</link><content:encoded>&lt;p&gt;今天处理了一个很小的问题。&lt;br /&gt;
需求是这样的，从周一到周日只能看到上周一到上周日的数据。&lt;br /&gt;
这里直接从数据库里根据 date 字段查询 范围即可。&lt;br /&gt;
但需要PHP生成 开始日期和结束日期。&lt;/p&gt;
&lt;p&gt;最开始，我直接这么处理。&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;php&quot;&gt;
$start_date = date('Y-m-d' , strtotime(&quot;-2 week monday&quot;));
$end_date = date('Y-m-d' , strtotime(&quot;$start_date +6 day&quot;));
&lt;/pre&gt;
&lt;p&gt;假如日期是 2011-07-19，$start_date= 2011-07-11  这样处理没有问题。&lt;br /&gt;
如果日期是  2011-07-18 ，$start_date 则会等于 2011-07-04，还活在上周。&lt;/p&gt;
&lt;p&gt;于是换了种方法&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;php&quot;&gt;
$getWeekDay = date(&quot;w&quot;);
$startDay = date(&quot;Y-m-d&quot;, mktime(0, 0, 0, date(&quot;m&quot;), date(&quot;d&quot;) - $getWeekDay + 1 - 7, date(&quot;Y&quot;)));
$endDay = date(&quot;Y-m-d&quot;, strtotime(&quot;+6 day $startDay&quot;));
&lt;/pre&gt;
&lt;p&gt;假如日期是 2011-07-19，$start_date= 2011-07-11  这样处理没有问题，和我们期望的一样。&lt;br /&gt;
如果日期是 2011-07-24，我们期望的  $start_date 是 2011-07-11，但实际返回的是 2011-07-18。&lt;/p&gt;
&lt;p&gt;不得已，我再改了下方法&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;php&quot;&gt;
$getWeekDay = date(&quot;N&quot;) ;
$startDay = date(&quot;Y-m-d&quot;, mktime(0, 0, 0, date(&quot;m&quot;), date(&quot;d&quot;) - $getWeekDay + 1 - 7, date(&quot;Y&quot;)));
$endDay = date(&quot;Y-m-d&quot;, strtotime(&quot;+6 day $startDay&quot;));
&lt;/pre&gt;
&lt;p&gt;这下就OK 了。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602811699/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/%e4%b8%80%e4%b8%aa%e6%9c%89%e6%84%8f%e6%80%9d%e7%9a%84%e6%97%a5%e6%9c%9f%e9%80%bb%e8%be%91%e5%a4%84%e7%90%86&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.gosoa.com.cn/%e4%b8%80%e4%b8%aa%e6%9c%89%e6%84%8f%e6%80%9d%e7%9a%84%e6%97%a5%e6%9c%9f%e9%80%bb%e8%be%91%e5%a4%84%e7%90%86/feed</wfw:commentRss><slash:comments>3</slash:comments><description>今天处理了一个很小的问题。
需求是这样的，从周一到周日只能看到上周一到上周日的数据。
这里直接从数据库里根据 date 字段查询 范围即可。
但需要PHP生成 开始日期和结束日期。

最开始，我直接这么处理。
&lt;pre name=&quot;code&quot; class=&quot;php&quot;&gt;
$start_date = date('Y-m-d' , strtotime(&quot;-2 week monday&quot;));
$end_date = date('Y-m-d' , strtotime(&quot;$start_date +6 day&quot;));
&lt;/pre&gt;
假如日期是 2011-07-19，$start_date= 2011-07-11  这样处理没有问题。
如果日期是  2011-07-18 ，$start_date 则会等于 2011-07-04，还活在上周。&lt;img src=&quot;http://www1.feedsky.com/t1/602811699/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/%e4%b8%80%e4%b8%aa%e6%9c%89%e6%84%8f%e6%80%9d%e7%9a%84%e6%97%a5%e6%9c%9f%e9%80%bb%e8%be%91%e5%a4%84%e7%90%86&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>PHP开发</category><category>PHP</category><pubDate>Tue, 19 Jul 2011 17:39:57 +0800</pubDate><author>scofield</author><comments>http://www.gosoa.com.cn/%e4%b8%80%e4%b8%aa%e6%9c%89%e6%84%8f%e6%80%9d%e7%9a%84%e6%97%a5%e6%9c%9f%e9%80%bb%e8%be%91%e5%a4%84%e7%90%86#comments</comments><guid isPermaLink="false">http://www.gosoa.com.cn/?p=617</guid><dc:creator>scofield</dc:creator><fs:srclink>http://www.gosoa.com.cn/%e4%b8%80%e4%b8%aa%e6%9c%89%e6%84%8f%e6%80%9d%e7%9a%84%e6%97%a5%e6%9c%9f%e9%80%bb%e8%be%91%e5%a4%84%e7%90%86</fs:srclink><fs:srcfeed>http://www.gosoa.com.cn/feed</fs:srcfeed><fs:itemid>feedsky/scofield_pan/~8141888/602811699/6245684</fs:itemid></item><item><title>PHP用CURL伪造IP和来源</title><link>http://www.gosoa.com.cn/php%e7%94%a8curl%e4%bc%aa%e9%80%a0ip%e5%92%8c%e6%9d%a5%e6%ba%90</link><content:encoded>&lt;p&gt;以前没有这么搞过。&lt;/p&gt;
&lt;p&gt;今天群里一个朋友在问这个问题。&lt;/p&gt;
&lt;p&gt;查了下，CURL确实很强悍的可以伪造IP和来源。&lt;/p&gt;
&lt;p&gt;1.php 请求 2.php 。&lt;/p&gt;
&lt;p&gt;1.php代码：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;php&quot;&gt;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, &quot;http://localhost/2.php&quot;);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:8.8.8.8', 'CLIENT-IP:8.8.8.8'));  //构造IP
curl_setopt($ch, CURLOPT_REFERER, &quot;http://www.gosoa.com.cn/ &quot;);   //构造来路
curl_setopt($ch, CURLOPT_HEADER, 1);
$out = curl_exec($ch);
curl_close($ch);
&lt;/pre&gt;
&lt;p&gt;2.php代码如下：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;php&quot;&gt;

function getClientIp() {
    if (!empty($_SERVER[&quot;HTTP_CLIENT_IP&quot;]))
        $ip = $_SERVER[&quot;HTTP_CLIENT_IP&quot;];
    else if (!empty($_SERVER[&quot;HTTP_X_FORWARDED_FOR&quot;]))
        $ip = $_SERVER[&quot;HTTP_X_FORWARDED_FOR&quot;];
    else if (!empty($_SERVER[&quot;REMOTE_ADDR&quot;]))
        $ip = $_SERVER[&quot;REMOTE_ADDR&quot;];
    else
        $ip = &quot;err&quot;;
    return $ip;
}

echo &quot;IP: &quot; . getClientIp() . &quot;&quot;;
echo &quot;referer: &quot; . $_SERVER[&quot;HTTP_REFERER&quot;];
&lt;/pre&gt;
&lt;p&gt;伪造成功，这是不是给“刷票”的朋友提供了很好的换IP的方案！！&lt;br /&gt;
哈哈。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602811700/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/php%e7%94%a8curl%e4%bc%aa%e9%80%a0ip%e5%92%8c%e6%9d%a5%e6%ba%90&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.gosoa.com.cn/php%e7%94%a8curl%e4%bc%aa%e9%80%a0ip%e5%92%8c%e6%9d%a5%e6%ba%90/feed</wfw:commentRss><slash:comments>1</slash:comments><description>以前没有这么搞过。

今天群里一个朋友在问这个问题。

查了下，CURL确实很强悍的可以伪造IP和来源。

1.php 请求 2.php 。

1.php代码：&lt;img src=&quot;http://www1.feedsky.com/t1/602811700/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/php%e7%94%a8curl%e4%bc%aa%e9%80%a0ip%e5%92%8c%e6%9d%a5%e6%ba%90&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>PHP开发</category><category>CURL</category><pubDate>Tue, 19 Jul 2011 17:09:02 +0800</pubDate><author>scofield</author><comments>http://www.gosoa.com.cn/php%e7%94%a8curl%e4%bc%aa%e9%80%a0ip%e5%92%8c%e6%9d%a5%e6%ba%90#comments</comments><guid isPermaLink="false">http://www.gosoa.com.cn/?p=614</guid><dc:creator>scofield</dc:creator><fs:srclink>http://www.gosoa.com.cn/php%e7%94%a8curl%e4%bc%aa%e9%80%a0ip%e5%92%8c%e6%9d%a5%e6%ba%90</fs:srclink><fs:srcfeed>http://www.gosoa.com.cn/feed</fs:srcfeed><fs:itemid>feedsky/scofield_pan/~8141888/602811700/6245684</fs:itemid></item><item><title>LAMPER主题分享交流会第七期：LAMP高性能实践</title><link>http://www.gosoa.com.cn/lamper%e4%b8%bb%e9%a2%98%e5%88%86%e4%ba%ab%e4%ba%a4%e6%b5%81%e4%bc%9a%e7%ac%ac%e4%b8%83%e6%9c%9f%ef%bc%9alamp%e9%ab%98%e6%80%a7%e8%83%bd%e5%ae%9e%e8%b7%b5</link><content:encoded>&lt;p&gt;&lt;strong&gt;主题一、高性能Lamp程序设计&lt;/strong&gt;&lt;br /&gt;
嘉宾：付超群&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;主题二：Sphinx构建全文搜索&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;嘉宾：李沫南&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;strong&gt;主题三：redis艺术&lt;/strong&gt;&lt;br /&gt;
&lt;/strong&gt;嘉宾：杨海潮&lt;br /&gt;
（* 特别鸣谢 新浪提供场地 *）&lt;/p&gt;
&lt;p&gt;—————————————————————————&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;具体安排：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;活动时间：&lt;/strong&gt;2011年7月16日（周六），13:30  - 16:30&lt;br /&gt;
&lt;strong&gt;活动地点：&lt;/strong&gt;北京市海淀区北四环西路理想国际大厦 15层&lt;br /&gt;
&lt;strong&gt;所需费用：&lt;/strong&gt;免费&lt;br /&gt;
&lt;strong&gt;活动日程：&lt;/strong&gt;&lt;br /&gt;
13:00-13:30：签到、入场&lt;br /&gt;
13:30-14:30：高性能Lamp程序设计&lt;br /&gt;
14:30-15:30：Sphinx构建全文搜索&lt;br /&gt;
15:30-16:30：redis艺术&lt;br /&gt;
16:30-16:40：Q &amp;amp; A，合影，自由交流&lt;br /&gt;
&lt;strong&gt;联系人：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;茹云峰 – 13141362151&lt;/p&gt;
&lt;p&gt;潘少宁 – 13520286595&lt;/p&gt;
&lt;p&gt;—————————————————————————&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;嘉宾介绍：&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;付超群&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;工程师，主要兴趣方向是Lamp架构程序设计，全文检索以及数据挖掘，&lt;a title=&quot;colaphp&quot; href=&quot;http://code.google.com/p/colaphp/&quot; target=&quot;_blank&quot;&gt;ColaPHP&lt;/a&gt;框架作者。&lt;/p&gt;
&lt;p&gt;博客：&lt;a title=&quot;付超群&quot; href=&quot;http://www.fuchaoqun.com/&quot; target=&quot;_blank&quot;&gt;http://www.fuchaoqun.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;新浪微博：&lt;a title=&quot;付超群&quot; href=&quot;http://weibo.com/fuchaoqun&quot; target=&quot;_blank&quot;&gt;http://weibo.com/fuchaoqun&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;李沫南&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;开源爱好者， coreseek.com 创始人。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;杨海潮&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;新浪首席DBA&lt;br /&gt;
目前为新浪首席DBA，在大规模高并发，海量访问有丰富的管理经验。热衷于数据库设计，性能优化，分布式部署方案和高可用性方面的研究。 之前从事大访问量网站的部署以及优化工作，加入新浪后主要负责整个公司的数据库管理工作。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;报名 请猛点这里。&lt;/span&gt;&lt;br /&gt;
&lt;a title=&quot;lamper&quot; href=&quot;http://www.lamper.cn&quot; target=&quot;_self&quot;&gt;LAMPER  点这里，点这里。。。!&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;br /&gt;
&lt;/strong&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602811701/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/lamper%e4%b8%bb%e9%a2%98%e5%88%86%e4%ba%ab%e4%ba%a4%e6%b5%81%e4%bc%9a%e7%ac%ac%e4%b8%83%e6%9c%9f%ef%bc%9alamp%e9%ab%98%e6%80%a7%e8%83%bd%e5%ae%9e%e8%b7%b5&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.gosoa.com.cn/lamper%e4%b8%bb%e9%a2%98%e5%88%86%e4%ba%ab%e4%ba%a4%e6%b5%81%e4%bc%9a%e7%ac%ac%e4%b8%83%e6%9c%9f%ef%bc%9alamp%e9%ab%98%e6%80%a7%e8%83%bd%e5%ae%9e%e8%b7%b5/feed</wfw:commentRss><slash:comments>0</slash:comments><description>主题一、高性能Lamp程序设计 嘉宾：付超群 主题二：Sphinx构建全文搜索 嘉宾：李沫南 主题三：redis艺术 嘉宾：杨海潮 （* 特别鸣谢 新浪提供场地 *） ————————————————————————— 具体安排： 活动时间：2011年7月16日（周六），13:30  - 16:30 活动地点：北京市海淀区北四环西路理想国际大厦 15层 所需费用：免费 活动日程： 13:00-13:30：签到、入场 13:30-14:30：高性能Lamp程序设计 14:30-15:30：Sphinx构建全文搜索 15:30-16:30：redis艺术 16:30-16:40：Q &amp;#38; A，合影，自由交流 联系人： 茹云峰 – 13141362151 潘少宁 – 13520286595 ————————————————————————— 嘉宾介绍： 付超群 工程师，主要兴趣方向是Lamp架构程序设计，全文检索以及数据挖掘，ColaPHP框架作者。 博客：http://www.fuchaoqun.com 新浪微博：http://weibo.com/fuchaoqun 李沫南 开源爱好者， coreseek.com 创始人。 杨海潮 新浪首席DBA 目前为新浪首席DBA，在大规模高并发，海量访问有丰富的管理经验。热衷于数据库设计，性能优化，分布式部署方案和高可用性方面的研究。 之前从事大访问量网站的部署以及优化工作，加入新浪后主要负责整个公司的数据库管理工作。 报名 请猛点这里。 LAMPER  点这里，点这里。。。!&lt;img src=&quot;http://www1.feedsky.com/t1/602811701/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/lamper%e4%b8%bb%e9%a2%98%e5%88%86%e4%ba%ab%e4%ba%a4%e6%b5%81%e4%bc%9a%e7%ac%ac%e4%b8%83%e6%9c%9f%ef%bc%9alamp%e9%ab%98%e6%80%a7%e8%83%bd%e5%ae%9e%e8%b7%b5&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>LAMPER</category><category>LAMP分享</category><pubDate>Thu, 14 Jul 2011 11:40:35 +0800</pubDate><author>scofield</author><comments>http://www.gosoa.com.cn/lamper%e4%b8%bb%e9%a2%98%e5%88%86%e4%ba%ab%e4%ba%a4%e6%b5%81%e4%bc%9a%e7%ac%ac%e4%b8%83%e6%9c%9f%ef%bc%9alamp%e9%ab%98%e6%80%a7%e8%83%bd%e5%ae%9e%e8%b7%b5#comments</comments><guid isPermaLink="false">http://www.gosoa.com.cn/?p=606</guid><dc:creator>scofield</dc:creator><fs:srclink>http://www.gosoa.com.cn/lamper%e4%b8%bb%e9%a2%98%e5%88%86%e4%ba%ab%e4%ba%a4%e6%b5%81%e4%bc%9a%e7%ac%ac%e4%b8%83%e6%9c%9f%ef%bc%9alamp%e9%ab%98%e6%80%a7%e8%83%bd%e5%ae%9e%e8%b7%b5</fs:srclink><fs:srcfeed>http://www.gosoa.com.cn/feed</fs:srcfeed><fs:itemid>feedsky/scofield_pan/~8141888/602811701/6245684</fs:itemid></item><item><title>优化PHP代码的40条建议[转]</title><link>http://www.gosoa.com.cn/%e4%bc%98%e5%8c%96php%e4%bb%a3%e7%a0%81%e7%9a%8440%e6%9d%a1%e5%bb%ba%e8%ae%ae%e8%bd%ac</link><content:encoded>&lt;p&gt;1.如果一个方法可静态化，就对它做静态声明。速率可提升至4倍。&lt;/p&gt;
&lt;p&gt;2.echo 比 print 快。&lt;/p&gt;
&lt;p&gt;3.使用echo的多重参数（译注：指用逗号而不是句点）代替字符串连接。&lt;/p&gt;
&lt;p&gt;4.在执行for循环之前确定最大循环数，不要每循环一次都计算最大值。&lt;/p&gt;
&lt;p&gt;5.注销那些不用的变量尤其是大数组，以便释放内存。&lt;/p&gt;
&lt;p&gt;6.尽量避免使用__get，__set，__autoload。&lt;/p&gt;
&lt;p&gt;7.require_once()代价昂贵。&lt;/p&gt;
&lt;p&gt;8.在包含文件时使用完整路径，解析操作系统路径所需的时间会更少。&lt;/p&gt;
&lt;p&gt;9.如果你想知道脚本开始执行（译注：即服务器端收到客户端请求）的时刻，使用$_SERVER[‘REQUEST_TIME’]要好于time()。&lt;/p&gt;
&lt;p&gt;10.函数代替正则表达式完成相同功能。&lt;/p&gt;
&lt;p&gt;11.str_replace函数比preg_replace函数快，但strtr函数的效率是str_replace函数的四倍。&lt;/p&gt;
&lt;p&gt;12.如果一个字符串替换函数，可接受数组或字符作为参数，并且参数长度不太长，那么可以考虑额外写一段替换代码，使得每次传递参数是一个字符，而不是只写一行代码接受数组作为查询和替换的参数。&lt;/p&gt;
&lt;p&gt;13.使用选择分支语句（译注：即switch case）好于使用多个if，else if语句。&lt;/p&gt;
&lt;p&gt;14.用@屏蔽错误消息的做法非常低效。&lt;/p&gt;
&lt;p&gt;15.打开apache的mod_deflate模块。&lt;/p&gt;
&lt;p&gt;16.数据库连接当使用完毕时应关掉。&lt;/p&gt;
&lt;p&gt;17.$row[‘id’]的效率是$row[id]的7倍。&lt;/p&gt;
&lt;p&gt;18.错误消息代价昂贵。&lt;/p&gt;
&lt;p&gt;19.尽量不要在for循环中使用函数，比如for ($x=0; $x &amp;lt; count($array); $x)每循环一次都会调用count()函数。&lt;/p&gt;
&lt;p&gt;20.在方法中递增局部变量，速度是最快的。几乎与在函数中调用局部变量的速度相当。&lt;/p&gt;
&lt;p&gt;21.递增一个全局变量要比递增一个局部变量慢2倍。&lt;/p&gt;
&lt;p&gt;22.递增一个对象属性（如：$this-&amp;gt;prop++）要比递增一个局部变量慢3倍。&lt;/p&gt;
&lt;p&gt;23.递增一个未预定义的局部变量要比递增一个预定义的局部变量慢9至10倍。&lt;/p&gt;
&lt;p&gt;24.仅定义一个局部变量而没在函数中调用它，同样会减慢速度（其程度相当于递增一个局部变量）。PHP大概会检查看是否存在全局变量。&lt;/p&gt;
&lt;p&gt;25.方法调用看来与类中定义的方法的数量无关，因为我（在测试方法之前和之后都）添加了10个方法，但性能上没有变化。&lt;/p&gt;
&lt;p&gt;26.派生类中的方法运行起来要快于在基类中定义的同样的方法。&lt;/p&gt;
&lt;p&gt;27.调用带有一个参数的空函数，其花费的时间相当于执行7至8次的局部变量递增操作。类似的方法调用所花费的时间接近于15次的局部变量递增操作。&lt;/p&gt;
&lt;p&gt;28.用单引号代替双引号来包含字符串，这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量，单引号则不会。当然，只有当你不需要在字符串中包含变量时才可以这么做。&lt;/p&gt;
&lt;p&gt;29.输出多个字符串时，用逗号代替句点来分隔字符串，速度更快。注意：只有echo能这么做，它是一种可以把多个字符串当作参数的“函数”（译注：PHP手册中说echo是语言结构，不是真正的函数，故把函数加上了双引号）。&lt;/p&gt;
&lt;p&gt;30.Apache解析一个PHP脚本的时间要比解析一个静态HTML页面慢2至10倍。尽量多用静态HTML页面，少用脚本。&lt;/p&gt;
&lt;p&gt;31.除非脚本可以缓存，否则每次调用时都会重新编译一次。引入一套PHP缓存机制通常可以提升25%至100%的性能，以免除编译开销。&lt;/p&gt;
&lt;p&gt;32.尽量做缓存，可使用memcached。memcached是一款高性能的内存对象缓存系统，可用来加速动态Web应用程序，减轻数据库负载。对运算码 (OP code)的缓存很有用，使得脚本不必为每个请求做重新编译。&lt;/p&gt;
&lt;p&gt;33.当操作字符串并需要检验其长度是否满足某种要求时，你想当然地会使用strlen()函数。此函数执行起来相当快，因为它不做任何计算，只返回在zval 结构（C的内置数据结构，用于存储PHP变量）中存储的已知字符串长度。但是，由于strlen()是函数，多多少少会有些慢，因为函数调用会经过诸多步骤，如字母小写化（译注：指函数名小写化，PHP不区分函数名大小写）、哈希查找，会跟随被调用的函数一起执行。在某些情况下，你可以使用isset() 技巧加速执行你的代码。&lt;/p&gt;
&lt;p&gt;（举例如下）&lt;br /&gt;
if (strlen($foo) &amp;lt; 5) { echo “Foo is too short”; }&lt;br /&gt;
（与下面的技巧做比较）&lt;br /&gt;
if (!isset($foo)) { echo “Foo is too short”; }&lt;/p&gt;
&lt;p&gt;调用isset()恰巧比strlen()快，因为与后者不同的是，isset()作为一种语言结构，意味着它的执行不需要函数查找和字母小写化。也就是说，实际上在检验字符串长度的顶层代码中你没有花太多开销。&lt;/p&gt;
&lt;p&gt;34.当执行变量$i的递增或递减时，$i++会比++$i慢一些。这种差异是PHP特有的，并不适用于其他语言，所以请不要修改你的C或Java代码并指望它们能立即变快，没用的。++$i更快是因为它只需要3条指令(opcodes)，$i++则需要4条指令。后置递增实际上会产生一个临时变量，这个临时变量随后被递增。而前置递增直接在原值上递增。这是最优化处理的一种，正如Zend的PHP优化器所作的那样。牢记这个优化处理不失为一个好主意，因为并不是所有的指令优化器都会做同样的优化处理，并且存在大量没有装配指令优化器的互联网服务提供商（ISPs）和服务器。&lt;/p&gt;
&lt;p&gt;35.并不是事必面向对象(OOP)，面向对象往往开销很大，每个方法和对象调用都会消耗很多内存。&lt;/p&gt;
&lt;p&gt;36.并非要用类实现所有的数据结构，数组也很有用。&lt;/p&gt;
&lt;p&gt;37.不要把方法细分得过多，仔细想想你真正打算重用的是哪些代码？&lt;/p&gt;
&lt;p&gt;38.当你需要时，你总能把代码分解成方法。&lt;/p&gt;
&lt;p&gt;39.尽量采用大量的PHP内置函数。&lt;/p&gt;
&lt;p&gt;40.如果在代码中存在大量耗时的函数，你可以考虑用C扩展的方式实现它们。&lt;/p&gt;
&lt;p&gt;41.评估检验(profile)你的代码。检验器会告诉你，代码的哪些部分消耗了多少时间。Xdebug调试器包含了检验程序，评估检验总体上可以显示出代码的瓶颈。&lt;/p&gt;
&lt;p&gt;42.mod_zip可作为Apache模块，用来即时压缩你的数据，并可让数据传输量降低80%。&lt;/p&gt;
&lt;p&gt;原文地址： &lt;a href=&quot;http://www.builder.com.cn/2008/0203/728680.shtml&quot;&gt;http://www.builder.com.cn/2008/0203/728680.shtml&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602811702/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/%e4%bc%98%e5%8c%96php%e4%bb%a3%e7%a0%81%e7%9a%8440%e6%9d%a1%e5%bb%ba%e8%ae%ae%e8%bd%ac&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.gosoa.com.cn/%e4%bc%98%e5%8c%96php%e4%bb%a3%e7%a0%81%e7%9a%8440%e6%9d%a1%e5%bb%ba%e8%ae%ae%e8%bd%ac/feed</wfw:commentRss><slash:comments>0</slash:comments><description>1.如果一个方法可静态化，就对它做静态声明。速率可提升至4倍。

2.echo 比 print 快。

3.使用echo的多重参数（译注：指用逗号而不是句点）代替字符串连接。

4.在执行for循环之前确定最大循环数，不要每循环一次都计算最大值。

5.注销那些不用的变量尤其是大数组，以便释放内存。

6.尽量避免使用__get，__set，__autoload。&lt;img src=&quot;http://www1.feedsky.com/t1/602811702/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/%e4%bc%98%e5%8c%96php%e4%bb%a3%e7%a0%81%e7%9a%8440%e6%9d%a1%e5%bb%ba%e8%ae%ae%e8%bd%ac&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>PHP开发</category><category>PHP优化</category><pubDate>Fri, 01 Jul 2011 17:41:53 +0800</pubDate><author>scofield</author><comments>http://www.gosoa.com.cn/%e4%bc%98%e5%8c%96php%e4%bb%a3%e7%a0%81%e7%9a%8440%e6%9d%a1%e5%bb%ba%e8%ae%ae%e8%bd%ac#comments</comments><guid isPermaLink="false">http://www.gosoa.com.cn/?p=603</guid><dc:creator>scofield</dc:creator><fs:srclink>http://www.gosoa.com.cn/%e4%bc%98%e5%8c%96php%e4%bb%a3%e7%a0%81%e7%9a%8440%e6%9d%a1%e5%bb%ba%e8%ae%ae%e8%bd%ac</fs:srclink><fs:srcfeed>http://www.gosoa.com.cn/feed</fs:srcfeed><fs:itemid>feedsky/scofield_pan/~8141888/602811702/6245684</fs:itemid></item><item><title>PHP几个不常用但很有用的函数</title><link>http://www.gosoa.com.cn/php%e5%87%a0%e4%b8%aa%e4%b8%8d%e5%b8%b8%e7%94%a8%e4%bd%86%e5%be%88%e6%9c%89%e7%94%a8%e7%9a%84%e5%87%bd%e6%95%b0</link><content:encoded>&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;glob()&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;直接print_r(glob(&amp;#8216;*&amp;#8217;)) 看看效果吧。&lt;/p&gt;
&lt;p&gt;再  print_r(glob(&amp;#8216;*.PHP&amp;#8217;)) 再看看效果吧。&lt;/p&gt;
&lt;p&gt;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;-&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;PHP Filter函数&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://php.net/manual/en/book.filter.php&quot; target=&quot;_blank&quot;&gt;PHP自带的filter函数&lt;/a&gt;。直接可以用来验证email，IP等。也可以用来验证 INPUT等。&lt;/p&gt;
&lt;p&gt;具体见这里 &lt;a href=&quot;http://php.net/manual/en/book.filter.php&quot;&gt;http://php.net/manual/en/book.filter.php&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;-&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;get_browser()&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;获得浏览器信息的。&lt;/p&gt;
&lt;p&gt;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;-&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;sys_getloadavg()&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这个函数只针对linux系统有用。&lt;/p&gt;
&lt;p&gt;可以用来监测系统的负载。 其值就是linux的 load average值。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;br /&gt;
&lt;/strong&gt;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602811703/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/php%e5%87%a0%e4%b8%aa%e4%b8%8d%e5%b8%b8%e7%94%a8%e4%bd%86%e5%be%88%e6%9c%89%e7%94%a8%e7%9a%84%e5%87%bd%e6%95%b0&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.gosoa.com.cn/php%e5%87%a0%e4%b8%aa%e4%b8%8d%e5%b8%b8%e7%94%a8%e4%bd%86%e5%be%88%e6%9c%89%e7%94%a8%e7%9a%84%e5%87%bd%e6%95%b0/feed</wfw:commentRss><slash:comments>0</slash:comments><description>glob() 直接print_r(glob(&amp;#8216;*&amp;#8217;)) 看看效果吧。 再  print_r(glob(&amp;#8216;*.PHP&amp;#8217;)) 再看看效果吧。 &amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;- PHP Filter函数 PHP自带的filter函数。直接可以用来验证email，IP等。也可以用来验证 INPUT等。 具体见这里 http://php.net/manual/en/book.filter.php &amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;- get_browser() 获得浏览器信息的。 &amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;- sys_getloadavg() 这个函数只针对linux系统有用。 可以用来监测系统的负载。 其值就是linux的 load average值。&lt;img src=&quot;http://www1.feedsky.com/t1/602811703/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/php%e5%87%a0%e4%b8%aa%e4%b8%8d%e5%b8%b8%e7%94%a8%e4%bd%86%e5%be%88%e6%9c%89%e7%94%a8%e7%9a%84%e5%87%bd%e6%95%b0&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>PHP开发</category><category>PHP</category><pubDate>Wed, 29 Jun 2011 21:26:43 +0800</pubDate><author>scofield</author><comments>http://www.gosoa.com.cn/php%e5%87%a0%e4%b8%aa%e4%b8%8d%e5%b8%b8%e7%94%a8%e4%bd%86%e5%be%88%e6%9c%89%e7%94%a8%e7%9a%84%e5%87%bd%e6%95%b0#comments</comments><guid isPermaLink="false">http://www.gosoa.com.cn/?p=593</guid><dc:creator>scofield</dc:creator><fs:srclink>http://www.gosoa.com.cn/php%e5%87%a0%e4%b8%aa%e4%b8%8d%e5%b8%b8%e7%94%a8%e4%bd%86%e5%be%88%e6%9c%89%e7%94%a8%e7%9a%84%e5%87%bd%e6%95%b0</fs:srclink><fs:srcfeed>http://www.gosoa.com.cn/feed</fs:srcfeed><fs:itemid>feedsky/scofield_pan/~8141888/602811703/6245684</fs:itemid></item><item><title>推荐一款开源的flashchart生成柱状图</title><link>http://www.gosoa.com.cn/%e6%8e%a8%e8%8d%90%e4%b8%80%e6%ac%be%e5%bc%80%e6%ba%90%e7%9a%84flashchart%e7%94%9f%e6%88%90%e6%9f%b1%e7%8a%b6%e5%9b%be</link><content:encoded>&lt;p&gt;最近项目中需要生成类似excel的柱状图、饼图、趋势图等等。。。&lt;/p&gt;
&lt;p&gt;网上google了一番，发现了 Open Flash Chart   地址：  &lt;a href=&quot;http://teethgrinder.co.uk/open-flash-chart-2/&quot;&gt;http://teethgrinder.co.uk/open-flash-chart-2/&lt;/a&gt; 。&lt;/p&gt;
&lt;p&gt;非常好用的一款开源工具。目前最新版是2.0&lt;/p&gt;
&lt;p&gt;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8211;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://ofcgwt.googlecode.com/svn/demo/Demo.html&quot;&gt;http://ofcgwt.googlecode.com/svn/demo/Demo.html&lt;/a&gt; 这里有很多示例可供参考。&lt;/p&gt;
&lt;p&gt;不过不太推荐使用 googlecode上的这个示例代码，建议采用官方的示例代码和flash chart 。&lt;/p&gt;
&lt;p&gt;flash chart的使用很简单。&lt;/p&gt;
&lt;p&gt;如下示例：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;js&quot;&gt;//url形式
function embSwfWithUrl(dataurl,divcon){
     var params = {
        &quot;wmode&quot;: &quot;transparent&quot;,
        &quot;menu&quot;: &quot;false&quot;,
        &quot;scale&quot;: &quot;noScale&quot;,
        &quot;allowFullscreen&quot;: &quot;false&quot;,
        &quot;allowScriptAccess&quot;: &quot;always&quot;,
        &quot;bgcolor&quot;: &quot;#c0c0c0&quot;  //背景
    };
    var flashvars = {
        'data-file' : dataurl
    };
    swfobject.embedSWF(&quot;/swf/open-flash-chart.swf?timestamp=&quot; + Math.random(),divcon, &quot;450&quot;, &quot;300&quot;, &quot;10.0.0&quot;, &quot;./swf/expressInstall.swf&quot; ,flashvars,params);
}

embSwfWithUrl('http://xxx.com/xxx.html','swfCon');&lt;/pre&gt;
&lt;p&gt;这里的http://xxx.com/xxx.html返回的是相应的json格式的数据。&lt;/p&gt;
&lt;p&gt;swfCon是放flash的div容器。&lt;/p&gt;
&lt;p&gt;swfobject是开源的js处理flash的类。&lt;a href=&quot;http://code.google.com/p/swfobject/&quot;&gt;http://code.google.com/p/swfobject/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8211;&lt;/p&gt;
&lt;p&gt;注意下，flash chart 获得数据的方式有两种，&lt;/p&gt;
&lt;p&gt;一种是   data-file  一种是 get-data&lt;/p&gt;
&lt;p&gt;data-file 正是如上示例，值必须是个 url地址，里面返回的是 json数据。&lt;/p&gt;
&lt;p&gt;而get-data的值则是一个函数名称。 函数返回 json 数据。&lt;/p&gt;
&lt;p&gt;如下示例：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;js&quot;&gt;//get-data
function embSwfWithData(divcon,getdataFn){
    var params = {
        &quot;wmode&quot;: &quot;transparent&quot;,  //窗口模式
        &quot;menu&quot;: &quot;false&quot;,  //菜单显示
        &quot;scale&quot;: &quot;noScale&quot;,  //缩放
        &quot;allowFullscreen&quot;: &quot;false&quot;, //允许全屏
        &quot;allowScriptAccess&quot;: &quot;always&quot;,  //允许脚本
        &quot;bgcolor&quot;: &quot;#c0c0c0&quot;  //背景
    };
var flashVar = {
 &quot;get-data&quot;:getdataFn
};
    swfobject.embedSWF(&quot;/swf/open-flash-chart.swf?timestamp=&quot; + Math.random(), divcon, &quot;450&quot;, &quot;300&quot;, &quot;10&quot;, &quot;/swf/expressInstall.swf&quot;,flashVar  ,params);
}

function getJsonData(){
return 'json data';
}&lt;/pre&gt;
&lt;p&gt;这里 “get-data”:getdataFn 需要传递的就是一个函数名称。函数中返回json数据。&lt;/p&gt;
&lt;p&gt;还有一点需要注意下，/swf/open-flash-chart.swf?timestamp=+Math.random() .&lt;/p&gt;
&lt;p&gt;这里之所以加随机数，是因为有的浏览器在缓存flash后，使其flash参数失效了。加上随机数后，每次浏览器会重新加载flash。&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602811704/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/%e6%8e%a8%e8%8d%90%e4%b8%80%e6%ac%be%e5%bc%80%e6%ba%90%e7%9a%84flashchart%e7%94%9f%e6%88%90%e6%9f%b1%e7%8a%b6%e5%9b%be&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.gosoa.com.cn/%e6%8e%a8%e8%8d%90%e4%b8%80%e6%ac%be%e5%bc%80%e6%ba%90%e7%9a%84flashchart%e7%94%9f%e6%88%90%e6%9f%b1%e7%8a%b6%e5%9b%be/feed</wfw:commentRss><slash:comments>0</slash:comments><description>最近项目中需要生成类似excel的柱状图、饼图、趋势图等等。。。

网上google了一番，发现了 Open Flash Chart   地址：  http://teethgrinder.co.uk/open-flash-chart-2/ 。

非常好用的一款开源工具。目前最新版是2.0

--------------------------------------------------------------------------------

http://ofcgwt.googlecode.com/svn/demo/Demo.html 这里有很多示例可供参考。

不过不太推荐使用 googlecode上的这个示例代码，建议采用官方的示例代码和flash chart 。

flash chart的使用很简单。

如下示例：&lt;img src=&quot;http://www1.feedsky.com/t1/602811704/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/%e6%8e%a8%e8%8d%90%e4%b8%80%e6%ac%be%e5%bc%80%e6%ba%90%e7%9a%84flashchart%e7%94%9f%e6%88%90%e6%9f%b1%e7%8a%b6%e5%9b%be&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>flashchart</category><category>PHP开发</category><category>php生成饼图</category><pubDate>Mon, 27 Jun 2011 18:54:44 +0800</pubDate><author>scofield</author><comments>http://www.gosoa.com.cn/%e6%8e%a8%e8%8d%90%e4%b8%80%e6%ac%be%e5%bc%80%e6%ba%90%e7%9a%84flashchart%e7%94%9f%e6%88%90%e6%9f%b1%e7%8a%b6%e5%9b%be#comments</comments><guid isPermaLink="false">http://www.gosoa.com.cn/?p=580</guid><dc:creator>scofield</dc:creator><fs:srclink>http://www.gosoa.com.cn/%e6%8e%a8%e8%8d%90%e4%b8%80%e6%ac%be%e5%bc%80%e6%ba%90%e7%9a%84flashchart%e7%94%9f%e6%88%90%e6%9f%b1%e7%8a%b6%e5%9b%be</fs:srclink><fs:srcfeed>http://www.gosoa.com.cn/feed</fs:srcfeed><fs:itemid>feedsky/scofield_pan/~8141888/602811704/6245684</fs:itemid></item><item><title>PHP导出excel</title><link>http://www.gosoa.com.cn/php%e5%af%bc%e5%87%baexcel</link><content:encoded>&lt;p&gt;最近做一个项目，其中涉及到了数据导成excel的功能。&lt;/p&gt;
&lt;p&gt;后来使用了 开源的 PHPExcel  &lt;a href=&quot;http://phpexcel.codeplex.com/&quot;&gt;http://phpexcel.codeplex.com/&lt;/a&gt; 目前最新版是1.7.6&lt;/p&gt;
&lt;p&gt;PHPExcel 可以生成 .xls 和 .xlsx （office2007）。其封装的方法很全了。&lt;/p&gt;
&lt;p&gt;比如设置 excel的title，keywords,description&lt;/p&gt;
&lt;p&gt;获得某个sheet，某个列的数据 等等。&lt;/p&gt;
&lt;p&gt;具体的文档，查看这里，&lt;a href=&quot;http://phpexcel.codeplex.com/releases/view/45412&quot;&gt;http://phpexcel.codeplex.com/releases/view/45412&lt;/a&gt; 非常详细。&lt;/p&gt;
&lt;p&gt;下面是一段简单的示例。&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;php&quot;&gt;//这里要 include进来 phpexcel类
include ROOT_PATH . 'library/PHPExcel-1.7.6/PHPExcel.PHP';
include ROOT_PATH . 'library/PHPExcel-1.7.6/PHPExcel/Writer/Excel2007.PHP';

class MyExcel {

    public static function makeExcel($title, $data, $excle_name) {
        $exclefile = 'excel/' . date('Y-m-d') . '/' . md5($excle_name) . '.xlsx';

        $Excel = new PHPExcel();
        $Excel-&amp;gt;setActiveSheetIndex(0);
        $Excel-&amp;gt;getSheet()-&amp;gt;setTitle($title);

        $cell_one = $data[0];
        $j = 0;
        foreach ($cell_one as $k =&amp;gt; $v) {
            $Excel-&amp;gt;getSheet()-&amp;gt;setCellValue(self::getCharByNunber($j) . '1', $k);
            $j++;
        }

        $x = 2;
        foreach ($data as $value) {
            $y = 0;
            foreach ($value as $k =&amp;gt; $v) {
                $Excel-&amp;gt;getSheet()-&amp;gt;setCellValue(self::getCharByNunber($y) . $x, $v);
                $y++;
            }
            $x++;
        }

        $objwriter = new PHPExcel_Writer_Excel2007($Excel);
        $objwriter-&amp;gt;save($exclefile);
        TMDebugUtils::debugLog('make ' . $exclefile);
        return $exclefile;
    }

    protected static function getCharByNunber($num) {
        $num = intval($num);
        $arr = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',);
        return $arr[$num];
    }

}

//导出用户基本信息
function exportUserBaseInfo() {
    $excelTitle = '用户基本信息';
    $excelFileName = 'userbase';
    $data = array();
    // $rs = ....  这里rs是从db读取的数据
    for ($i = 0; $i &amp;lt; count($rs); $i++) {         $data[$i]['姓名'] = $rs[$i]-&amp;gt;name;
        $data[$i]['年龄'] = intval($rs[$i]-&amp;gt;age);
        $data[$i]['日期'] = $rs[$i]-&amp;gt;date;
    }
    MyExcel::makeExcel($excelTitle, $data, $excelFileName);
}

//导出新闻资讯信息
function exportUserBaseInfo() {
    $excelTitle = '新闻资讯信息';
    $excelFileName = 'news';
    $data = array();
    // $rs = ....  这里rs是从db读取的数据
    for ($i = 0; $i &amp;lt; count($rs); $i++) {         $data[$i]['标题'] = $rs[$i]-&amp;gt;title;
        $data[$i]['作者'] = $rs[$i]-&amp;gt;author;
        $data[$i]['日期'] = $rs[$i]-&amp;gt;date;
        $data[$i]['浏览数'] = floatval($rs[$i]-&amp;gt;view_count);
        $data[$i]['被评论数'] = floatval($rs[$i]-&amp;gt;comment_count);
    }
    MyExcel::makeExcel($excelTitle, $data, $excelFileName);
}

//end&lt;/pre&gt;
&lt;p&gt;这里只是简单的生成的xlsx，其他需要读取更复杂的，可以阅读官方的手册，有很详细的说明。&lt;/p&gt;
&lt;p&gt;如果不需要保存，直接输出到浏览，如下：&lt;/p&gt;
&lt;pre name=&quot;code&quot; class=&quot;php&quot;&gt;//不用保存，直接输出到浏览器
$objwriter = new PHPExcel_Writer_Excel2007($Excel);
        header(&quot;Content-Type: application/force-download&quot;);
        header(&quot;Content-Type: application/octet-stream&quot;);
        header(&quot;Content-Type: application/download&quot;);
        header('Content-Disposition:inline;filename=temp.xlsx');
        header(&quot;Content-Transfer-Encoding: binary&quot;);
        header(&quot;Expires: Mon, 26 Jul 1997 05:00:00 GMT&quot;);
        header(&quot;Last-Modified: &quot; . gmdate(&quot;D, d M Y H:i:s&quot;) . &quot; GMT&quot;);
        header(&quot;Cache-Control: must-revalidate, post-check=0, pre-check=0&quot;);
        header(&quot;Pragma: no-cache&quot;);
        $objwriter-&amp;gt;save('php://output');&lt;/pre&gt;
&lt;p&gt;The End&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602811705/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/php%e5%af%bc%e5%87%baexcel&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.gosoa.com.cn/php%e5%af%bc%e5%87%baexcel/feed</wfw:commentRss><slash:comments>0</slash:comments><description>最近做一个项目，其中涉及到了数据导成excel的功能。

后来使用了 开源的 PHPExcel  &lt;a href=&quot;http://phpexcel.codeplex.com/&quot;&gt;http://phpexcel.codeplex.com/&lt;/a&gt; 目前最新版是1.7.6

PHPExcel 可以生成 .xls 和 .xlsx （office2007）。其封装的方法很全了。

比如设置 excel的title，keywords,description

获得某个sheet，某个列的数据 等等。

具体的文档，查看这里，&lt;a href=&quot;http://phpexcel.codeplex.com/releases/view/45412&quot;&gt;http://phpexcel.codeplex.com/releases/view/45412&lt;/a&gt; 非常详细。

下面是一段简单的示例。&lt;img src=&quot;http://www1.feedsky.com/t1/602811705/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/php%e5%af%bc%e5%87%baexcel&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>PHP开发</category><category>PHP生成EXcel</category><category>PHPExcel</category><pubDate>Mon, 27 Jun 2011 18:23:07 +0800</pubDate><author>scofield</author><comments>http://www.gosoa.com.cn/php%e5%af%bc%e5%87%baexcel#comments</comments><guid isPermaLink="false">http://www.gosoa.com.cn/?p=573</guid><dc:creator>scofield</dc:creator><fs:srclink>http://www.gosoa.com.cn/php%e5%af%bc%e5%87%baexcel</fs:srclink><fs:srcfeed>http://www.gosoa.com.cn/feed</fs:srcfeed><fs:itemid>feedsky/scofield_pan/~8141888/602811705/6245684</fs:itemid></item><item><title>怀念一位老革命–潘远志</title><link>http://www.gosoa.com.cn/%e6%80%80%e5%bf%b5%e4%b8%80%e4%bd%8d%e8%80%81%e9%9d%a9%e5%91%bd-%e6%bd%98%e8%bf%9c%e5%bf%97</link><content:encoded>&lt;p&gt;他，像很多被遗忘的老革命一样，曾为了那红色的理想，奋斗一生。&lt;/p&gt;
&lt;p&gt;他，曾在与刘志丹一起杀敌。&lt;/p&gt;
&lt;p&gt;他，曾与习仲勋（习近平之父）并肩作战。&lt;/p&gt;
&lt;p&gt;他，曾因革命入狱七年。&lt;/p&gt;
&lt;p&gt;他，像很多被遗忘的老革命一样，不该被遗忘。。。。。。&lt;/p&gt;
&lt;p&gt;他，就是 潘远志 同志。&lt;/p&gt;
&lt;p&gt;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;-&lt;/p&gt;
&lt;p&gt;以下是他的个人简介：&lt;/p&gt;
&lt;p&gt;我叫潘远志，1910年出生在陕西省咸阳市旬邑县张洪镇上黄楼村一户农民家庭。家境贫寒，10岁便向人学习石匠技术，16岁靠石匠手艺养家糊口。经常在外漂泊，流浪，备受艰辛。当时正直国民党统治，社会动荡，穷人生活艰苦。受到中国共产党进步思想的影响，1929年，19岁的我毅然决定加入了共产党，树立的崇高的革命理想，立志为革命事业奉献终身。&lt;/p&gt;
&lt;p&gt;1931年，我在刘志丹部队当兵，先后担任过班长，排长，连长。后来，因为有石匠身份掩护，我便承担了当的地下工作。由于常年在外，家中一切杳无音信，十分担心父母，可当回到家中的时候，门上已经挂上了共匪的牌子。&lt;/p&gt;
&lt;p&gt;记得有一次，下山为父母挑水，当回来时，刚走到半山腰，我发现了国民党反对派已经在山顶守候，枪口直对着我。我放下扁担，立刻往山下跑，谁知却被他们发现了，枪声在我身后不断，所幸的是，那次我逃脱了。&lt;/p&gt;
&lt;p&gt;回忆起来，地下工作也是非常艰苦的。一次，我以石匠的身份，在XX村帮人干活，同时非常谨慎的完成党的任务。在做完的时候，天色已晚，我便留宿在了XX村，但却有反动派告密，我不得不连夜逃走。还好，有惊无险。&lt;/p&gt;
&lt;p&gt;那时候，我们常以树皮，草根，野菜充饥，大小战斗不计其数。有一次国民党反动派围攻耀县，在刘志丹同志的指挥下，我们经过了两天两夜的艰苦奋战，歼灭了敌军，缴获了大量军备。机枪有六挺，步枪60多支，活捉敌军30多人，军心大受鼓舞。然而1936年刘志丹同志在战斗中英勇牺牲，我们悲痛万分，全军战士都痛哭流涕。&lt;/p&gt;
&lt;p&gt;1936年4月，关中机会设在马兰（马堡村）。有一次，我们获得消息，国民党有一批军火会从马兰经过，于是，在中共特区委及游击队组织的领导下，经过艰苦奋战，我军大获全胜，缴获了国民党的全部军火。但我在那次战斗中腿部受伤了，特区委把我安排到后掌村疗伤修养。记得当时贺明珠弟妹多次看望，让我感激不尽。&lt;/p&gt;
&lt;p&gt;1937年3月，关中特区机关迁至马家堡村，10月更名为关中分区。38年7月，撤销了新正县委，由关中分区党委领导。 1939年底迁至阳坡头村，后又迁往马兰。1941年7月，习仲勋同志担任关中分区党委书记，习仲凯同志任工委书记，我任宣传部长，赵铁娃任组织部长。郭清帆任保安部长，任应斌任秘书。我们亲如兄弟，并肩作战，建立了深厚的战斗友谊和感情。每次战斗间隙，我和习书记总要拉拉话，下下棋，有时秉烛谈至深夜。&lt;/p&gt;
&lt;p&gt;为了提高工作能力，更好地为党工作，1938年经过关中分区委民同意，我到陕北公学看花宫分校学习文化，当时李维汉任校长，记得当时有蔡畅、肖劲党、蒙定军、王秉祥、王天太、吕世玉。毕业后、任正宁县委宣传部长，搞地下抗日宣传工作。&lt;/p&gt;
&lt;p&gt;1937年纪月，红一军团驻正宁、宁县一带。我们打了无数胜仗，大家人心鼓舞，唱戏欢庆。然而，在上1939年甘肃九县战斗中，情报得知国民党有一个团将来袭击，谁知竟然有两个团的兵力，我们被捕围困了三天，没吃没喝，坚苦奋战，最后兵分三路突破了他们的围攻。当时我便率领着一支部队，记得的有汪峰，赵铁娃，郭清帆等。1940年解放宁县，正宁时参战 的有赵铁娃，吕世玉，周存善。1941年习仲凯同志任正宁县委书记，我任副书记，任应斌任部长。&lt;/p&gt;
&lt;p&gt;1946年患心脏病，在内蒙苏联医院多次治疗，没能好转，后经红一团党委批准，回家休养。&lt;/p&gt;
&lt;p&gt;1964年反西北派，习仲勋同志遭四人帮迫害，我也感觉到灾难必将降临到我的头上，便把老婆孩子叫到跟前，将身上的几元钱分给他们。叮嘱孩子们要好好学习文化，好好生活，好好劳动。1965年我便被捕打成“现行反革命”，入狱七年。&lt;/p&gt;
&lt;p&gt;年幼的儿子，10岁便承受着家破人亡的现实压力，精神受到极大的伤害，流浪为生，流落街头，吃穿无着，妻子瘫痪在床，家不成家……&lt;/p&gt;
&lt;p&gt;1971年出狱后，妻子已不在人世，家中只乘几口破烂窖洞，儿子精神受到打击，疯疯颠颠，看到这些我心如刀割，自己受罚也就罢了，还给孩子带来伤害，让家人和我一起受罚……村里却把我当成“四类分子”对待。劳动之余，偷着在沟里挖草药凑钱给孩子看病，生活不堪设想。粉碎“四人帮”后，我向甘肃提出解决我的问题甘肃和陕西想到推托，直至龄1980年8月在习仲凯兄弟的帮助下，才得以平反，虽然当时国家困难，子女不做安排，工资不予补发，可是我还掩饰不住内心的的喜悦，写了一首诗下来：&lt;/p&gt;
&lt;p&gt;冬去春来百花开，&lt;/p&gt;
&lt;p&gt;红花绿叶枝杆壮。&lt;/p&gt;
&lt;p&gt;鲜花放香人人戴，&lt;/p&gt;
&lt;p&gt;定能结成太平果。&lt;/p&gt;
&lt;p&gt;平反后，习仲勋兄弟常来家中看望，关切地问：“老哥，您辛苦了！”我思绪万千，老泪纵横：“当年的苦还算苦吗？庆幸的是我们兄弟们都活着啊！”他还帮助我联系医院治病，在西安人民医院治疗期间，我见到了不少老同志，贺明珠弟妹与孙女前来看望，叫人倍感亲切，我们亲切交谈，回忆当年的往事。从医院回来，我身体一天不如一天，虽然吃了苦，受了罚，总算看到了今天，死也瞑目了！&lt;/p&gt;
&lt;p&gt;潘远志&lt;/p&gt;
&lt;p&gt;1986年3月&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602811706/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/%e6%80%80%e5%bf%b5%e4%b8%80%e4%bd%8d%e8%80%81%e9%9d%a9%e5%91%bd-%e6%bd%98%e8%bf%9c%e5%bf%97&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.gosoa.com.cn/%e6%80%80%e5%bf%b5%e4%b8%80%e4%bd%8d%e8%80%81%e9%9d%a9%e5%91%bd-%e6%bd%98%e8%bf%9c%e5%bf%97/feed</wfw:commentRss><slash:comments>0</slash:comments><description>他，像很多被遗忘的老革命一样，曾为了那红色的理想，奋斗一生。

他，曾在与刘志丹一起杀敌。

他，曾与习仲勋（习近平之父）并肩作战。

他，曾因革命入狱七年。

他，像很多被遗忘的老革命一样，不该被遗忘。。。。。。

他，就是 潘远志 同志。

-----------------------------------&lt;img src=&quot;http://www1.feedsky.com/t1/602811706/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/%e6%80%80%e5%bf%b5%e4%b8%80%e4%bd%8d%e8%80%81%e9%9d%a9%e5%91%bd-%e6%bd%98%e8%bf%9c%e5%bf%97&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>潘远志</category><category>杂七杂八</category><pubDate>Fri, 10 Jun 2011 21:55:02 +0800</pubDate><author>scofield</author><comments>http://www.gosoa.com.cn/%e6%80%80%e5%bf%b5%e4%b8%80%e4%bd%8d%e8%80%81%e9%9d%a9%e5%91%bd-%e6%bd%98%e8%bf%9c%e5%bf%97#comments</comments><guid isPermaLink="false">http://www.gosoa.com.cn/?p=568</guid><dc:creator>scofield</dc:creator><fs:srclink>http://www.gosoa.com.cn/%e6%80%80%e5%bf%b5%e4%b8%80%e4%bd%8d%e8%80%81%e9%9d%a9%e5%91%bd-%e6%bd%98%e8%bf%9c%e5%bf%97</fs:srclink><fs:srcfeed>http://www.gosoa.com.cn/feed</fs:srcfeed><fs:itemid>feedsky/scofield_pan/~8141888/602811706/6245684</fs:itemid></item><item><title>LAMPER五月盛会 – 数据存储</title><link>http://www.gosoa.com.cn/lamper%e4%ba%94%e6%9c%88%e7%9b%9b%e4%bc%9a-%e6%95%b0%e6%8d%ae%e5%ad%98%e5%82%a8</link><content:encoded>&lt;p&gt;由于工作太忙，&lt;a href=&quot;http://lamper.cn/&quot; target=&quot;_blank&quot;&gt;LAMPER&lt;/a&gt;休息了好久了。&lt;/p&gt;
&lt;p&gt;最近终于能抽出些时间来组织了。&lt;/p&gt;
&lt;p&gt;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;五月主题为   “数据存储”&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;主题一、NOSQL带来了什么&lt;/strong&gt;&lt;br /&gt;
嘉宾：孙立 高级系统架构师&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;主题二：OceanBase&amp;#8212;千亿级海量数据库&lt;/strong&gt;&lt;br /&gt;
嘉宾：杨传辉（日照）存储系统专家&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;主题三：redis修改源码的艺术&lt;/strong&gt;&lt;br /&gt;
嘉宾：杨海潮：新浪首席DBA&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;主题四：深入SAE云计算架构&lt;/strong&gt;&lt;br /&gt;
嘉宾：丛磊: 新浪SAE技术经理&lt;/p&gt;
&lt;p&gt;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8211;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;活动时间：&lt;/strong&gt;2011年5月21日（周六），09:30～5:00&lt;br /&gt;
&lt;strong&gt;活动地点：&lt;/strong&gt;北京市海淀区北四环中路理想国际大厦 15层&lt;br /&gt;
&lt;strong&gt;所需费用：&lt;/strong&gt;免费&lt;br /&gt;
&lt;strong&gt;活动日程：&lt;/strong&gt;&lt;br /&gt;
09:30-10:00：签到、入场&lt;br /&gt;
10:00-11:00：NOSQL带来了什么&lt;br /&gt;
11:00-12:00：OceanBase&amp;#8212;千亿级海量数据库&lt;br /&gt;
12：00-13：30：休息，午餐&lt;br /&gt;
13:30-14:30：redis修改源码的艺术&lt;br /&gt;
14:30-15:30：新浪&amp;#8212;深入SAE云计算架构&lt;br /&gt;
15:30-16:30：Q &amp;amp; A，合影，自由交流&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;详情查看： &lt;a href=&quot;http://lamper.cn/&quot;&gt;http://lamper.cn/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8211;&lt;/p&gt;&lt;img src=&quot;http://www1.feedsky.com/t1/602811707/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/lamper%e4%ba%94%e6%9c%88%e7%9b%9b%e4%bc%9a-%e6%95%b0%e6%8d%ae%e5%ad%98%e5%82%a8&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</content:encoded><wfw:commentRss>http://www.gosoa.com.cn/lamper%e4%ba%94%e6%9c%88%e7%9b%9b%e4%bc%9a-%e6%95%b0%e6%8d%ae%e5%ad%98%e5%82%a8/feed</wfw:commentRss><slash:comments>1</slash:comments><description>由于工作太忙，LAMPER休息了好久了。 最近终于能抽出些时间来组织了。 &amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212; 五月主题为   “数据存储” 主题一、NOSQL带来了什么 嘉宾：孙立 高级系统架构师 主题二：OceanBase&amp;#8212;千亿级海量数据库 嘉宾：杨传辉（日照）存储系统专家 主题三：redis修改源码的艺术 嘉宾：杨海潮：新浪首席DBA 主题四：深入SAE云计算架构 嘉宾：丛磊: 新浪SAE技术经理 &amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8211; 活动时间：2011年5月21日（周六），09:30～5:00 活动地点：北京市海淀区北四环中路理想国际大厦 15层 所需费用：免费 活动日程： 09:30-10:00：签到、入场 10:00-11:00：NOSQL带来了什么 11:00-12:00：OceanBase&amp;#8212;千亿级海量数据库 12：00-13：30：休息，午餐 13:30-14:30：redis修改源码的艺术 14:30-15:30：新浪&amp;#8212;深入SAE云计算架构 15:30-16:30：Q &amp;#38; A，合影，自由交流 详情查看： http://lamper.cn/ &amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8212;&amp;#8211;&lt;img src=&quot;http://www1.feedsky.com/t1/602811707/scofield_pan/feedsky/s.gif?r=http://www.gosoa.com.cn/lamper%e4%ba%94%e6%9c%88%e7%9b%9b%e4%bc%9a-%e6%95%b0%e6%8d%ae%e5%ad%98%e5%82%a8&quot; border=&quot;0&quot; height=&quot;0&quot; width=&quot;0&quot; style=&quot;position:absolute&quot; /&gt;</description><category>LAMPER</category><category>LAMP分享</category><pubDate>Tue, 10 May 2011 23:58:01 +0800</pubDate><author>scofield</author><comments>http://www.gosoa.com.cn/lamper%e4%ba%94%e6%9c%88%e7%9b%9b%e4%bc%9a-%e6%95%b0%e6%8d%ae%e5%ad%98%e5%82%a8#comments</comments><guid isPermaLink="false">http://www.gosoa.com.cn/?p=561</guid><dc:creator>scofield</dc:creator><fs:srclink>http://www.gosoa.com.cn/lamper%e4%ba%94%e6%9c%88%e7%9b%9b%e4%bc%9a-%e6%95%b0%e6%8d%ae%e5%ad%98%e5%82%a8</fs:srclink><fs:srcfeed>http://www.gosoa.com.cn/feed</fs:srcfeed><fs:itemid>feedsky/scofield_pan/~8141888/602811707/6245684</fs:itemid></item></channel></rss>
