Onelong

分享知识,与你一起进步......
RSS icon Home icon
  • php的奇葩代码

    post by onelong / 2013-7-29 23:27 Monday [php]

    下面的代码,你猜输出什么?

    $a=3;$b=5;

    if($a = 5 || $b = 7)

    阅读全文>>

  • 分享一个学习php内核的网址

    post by onelong / 2011-11-18 6:02 Friday [php]

    介绍:我们提供《深入理解PHP内核》的在线阅读及PDF、CHM版的下载,后续也会提供epub格式的离线下载,这是在我们的计划当中的。 如果你网络环境不好,想离线浏览,您也可以下载我们的整个项目。请参考关于页面,这里有本地使用的一些说明。 虽然TIPI项目主要关注PHP内部实现和相关技术的研究,作为互联网爱好者,无论是互联网产品还是电子书籍, 我们都希望能有良好的使用及阅读体验,我们也会将精力投入到用户体验上,尽可能为大家提供一个更好的使用感受。

    阅读全文>>

  • phpforandroid体验

    post by onelong / 2010-11-27 2:30 Saturday [android]

    phpforandroid的开源项目已经开始了很久啦!一直等待他比较成熟!今天终于开始体验了啦!首先我们需要安装php的运行环境

    阅读全文>>

  • 文件加载器

    post by onelong / 2010-11-10 1:25 Wednesday [php]

    如何将gzip技术运用的更好呢 ?前天突然有个想法,那就是做一个文件加载器 啦!通过文件加载器可以对css,javascript等外部文件进行压缩处理!看看代码啦,希望有经验的朋友提点建议啦!

    阅读全文>>

  • ubuntu下让php支持sqlite

    post by onelong / 2010-7-9 18:41 Friday [php]

    先phpinfo看看php5的版本和具体的sqlite支持版本;
    apt安装
    sudo apt-get install php5-sqlite
    重启apache
    查看phpinfo,应该可以看到相关的sqlite信息
    完毕.
     

  • ubuntu下安装配置resin服务器

    post by onelong / 2010-1-7 19:28 Thursday [linux]

    我的ubuntu版本的9.10,在网上下载了resin4.0.1的deb版双击安装后发现不能运行!!郁闷呀,我的机器本身就安装了apache的!在网上看的教程都是源码安装的,在ubuntu下都不行呀!
    当然了,安装resin首先要安装java!
    配置resin
    resin的配置文件是resin.xml在/etc/resin/目录下面
    sudo gedit  /etc/resin/resin.xml 找到
     <server-default>
          <http address="*" port="8080"/>//这里是更改监听的http端口,默认是80
          <!-- SSL port configuration: -->
          <http address="*" port="8443">
            <jsse-ssl self-signed-certificate-name="resin@localhost"/>
          </http>
    然后保存即可
    在/etc/resin/目录下面还有其他的配置文件,如管理员等等
    添加管理员:
      <management xmlns="http://caucho.com/ns/resin">
          <user name="onelong" password="passwd"/>
      </management>
    resin默认的根目录是/var/www/webapps/ROOT
    当然你可以修改的,在resin.xml
    做好一切修改后重启resin
     sudo /etc/init.d/resin start
    看到[ok]就行拉
    测试:http://127.0.0.1:8080
    如果能看到resin的起始页就表示成功拉

  • php调用google api 开发天气预报

    post by onelong / 2009-12-21 18:42 Monday [php]

    现在的网站都会有一些服务性的东东。如日历,天气预报等等!
    本来想用ajax来实现的!可是ajax是不能调用远程的xml,只能指望动态语言啦!
    google天气预报的api:http://www.google.com/ig/api?weather=$city&hl=zh-cn;

    <?php
    header("content-Type: text/html; charset=Utf-8");
    $city = empty($_GET['city']) ? 'shaoguan' : $_GET['city'];
    $content = file_get_contents("http://www.google.com/ig/api?weather=$city&hl=zh-cn");
    //$content = mb_convert_encoding($content, 'UTF-8', 'GBK'); //gbk to utf-8
    $content = iconv("GBK", "UTF-8", $content);
    $xml = new DOMDocument();   
    $xml->loadXML($content);   
    $curr= $xml->getElementsByTagName('current_conditions');     
    $temp = $curr>getElementsByTagName("temp_c");  
        /** 
         * 要获取Title标签的Id属性要分两部走 
         * 1. 获取title中所有属性的列表也就是$title->item(0)->attributes 
         * 2. 获取title中id的属性,因为其在第一位所以用item(0) 
         * 
         * 小提示: 
         * 若取属性的值可以用item(*)->nodeValue 
         * 若取属性的标签可以用item(*)->nodeName 
         * 若取属性的类型可以用item(*)->nodeType 
         */ 
        echo $temp->item(0)->attributes->item(0)->nodeValue . "℃<br />";  
    ?>
    http://www.google.com/ig/api?weather=$city&hl=zh-cn这个接口是gbk编码的!所以这里用到了一些转码的函数
    $content = iconv(”GBK”, “UTF-8″, $content);
    $content = mb_convert_encoding($content, “UTF-8″, “GBK”);
    他们实现的功能都是差不多的!
    更多php的帮助请查看
    http://cn.php.net/manual/en/function.mb-convert-encoding.php
    上面只是一个小小的例子
    还要一个用simpleXML写的例子
    <?php
    $city = empty($_GET['city']) ? 'zhuhai' : $_GET['city'];
    $content = file_get_contents("http://www.google.com/ig/api?weather=$city&hl=zh-cn");
    $content || die("No such city's data");
    $content = mb_convert_encoding($content, 'UTF-8', 'GBK');
    $xml = simplexml_load_string($content);
    $date = $xml->weather->forecast_information->forecast_date->attributes();
    $html = $date. "<br>\r\n";
    $current = $xml->weather->current_conditions;
    $condition = $current->condition->attributes();
    $temp_c = $current->temp_c->attributes();
    $humidity = $current->humidity->attributes();
    $icon = $current->icon->attributes();
    $wind=$current->wind_condition->attributes();
    $icon && $icon = $xml->weather->forecast_conditions->icon->attributes();
    $html.= "当前: {$condition}, {$temp_c}°C,<img src='http://www.google.com/ig{$icon}'/> {$humidity}{$wind}<br />";
    foreach($xml->weather->forecast_conditions as $forecast) {
        $low = $forecast->low->attributes();
        $high = $forecast->high->attributes();
        $icon = $forecast->icon->attributes();
        $condition = $forecast->condition->attributes();
        $day_of_week = $forecast->day_of_week->attributes();
        $html.= "{$day_of_week} : {$high} / {$low} °C, {$condition} <img src='http://www.google.com/ig{$icon}' /><br />";
    }
    header('Content-type: text/html; Charset: utf-8');
    print $html;
    ?>

    阅读全文>>

  • ubuntu安装Zend Optimizer优化引擎

    post by onelong / 2009-12-19 0:59 Saturday [linux]

    下载Zend Optimizer3.3:
    wget http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
    安装:
    $ sudo tar zxvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
    $ sudo ./install.sh
    根据提示输php.ini文件的位置(Ubunbu Server默认在/etc/php5/apache2目录下)
    在提示框中输入/etc/php5/apache2点击 ok 即可
    接下来就是输入apachectl的位置(Ubunbu Server默认在/usr/sbin/apache2ctl)
    在提示框加输入/usr/sbin/apache2ctl点击 ok 即可
    还要输入httpd所在的目录
    在提示框加输入/etc/apache2/httpd.conf(/etc/apache2/apache2.conf)即可
    完成安装后重启apache2

    阅读全文>>

  • ubuntu9.10下安装ZendDebugger

    post by onelong / 2009-11-25 21:07 Wednesday [linux]

    下载 Zend Debugger并解压,后选择适合的版本!如你的php是5.2的,你就选择5.2.x.

     在php.ini文件后面添加如下内容(/etc/php5/apache2/php.ini)

    zend_extension=<full_path_to_ZendDebugger.so>

    阅读全文>>

  • ubuntu下使用aptana和ZendStudio7

    post by onelong / 2009-11-22 2:10 Sunday [linux]

    在终端上用如下命令打开ZendStudio
    #!/bin/bash
    export GDK_NATIVE_WINDOWS=true
    /usr/local/Zend/ZendStudio-7.0.0/ZendStudio  //这是你ZendStudio的安装路径

    阅读全文>>

  • js实现跨域调用

    post by onelong / 2009-10-11 2:03 Sunday [javascript]

    主调文件index.html
    <script type="text/javascript">
    function getProfile(str) {
        var arr = str;
        document.getElementById('nick').innerHTML = arr.nick;
    }
    </script>
    <body><div id="nick"></div></body>
    <script type="text/javascript" src="http://www.ways2u.com/demo/profile.php"></script>

    阅读全文>>

  • json在php和ajax中应用

    post by onelong / 2009-10-6 1:41 Tuesday [xml+json]

    这是一个很简单的用法
    <?php 
    $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
    echo json_encode($arr);
    ?>
    这样做的好处是,直接把数组写成一个可以被js直接使用的对象
    到js可以这样使用:
    var arr = $output;
    alert(arr.a);
    注意:encode必须是utf8的.
    decode就是解码,把json转成object||array.
    zend_json中还有一个json方面的扩展.zend_json::fromXml().将xml解析成json.
     下面是一个ajax的json简单应用
    var req = new XMLHttpRequest();
    req.open("GET", "http://www.ways2u.com", true);
    req.onreadystatechange = myHandler;
    req.send(null); 

    function myHandler() {
       if (req.readyState == 4 /*complete*/) {
           var addrField = document.getElementById('addr'); 
           var card = eval('(' + req.responseText + ')'); //这是将字符转换为表达式
           addrField.value = card.addresses[0].value;
       }
    }