Posts Tagged php

    低调推出goo.gl短网址服务

    Address:


    最简PHP框架

    好久没更新了,一是自已越来越懒,二是,这段时间总是心烦意乱,很难静下心来。
    不说了,看下面这个简单的php框架。虽然只有短短的137个字符(完全可以做为一条tweet),但却可以大致模似出CodeIgniter的用法。

    1
    2
    3
    4
    5
    6
    
    <?php
    $g=$GET;$c=@$g['c']?:'home';
    if(!@require "c/$c.php") die('error');
    $m=method_exists($c,@$g['m'])?$g['m']:'index';
    $o=new $c; $o->$m($g);
    ?>

    将以上代码保存为index.php,然后在index.php所在目录下新建C文件夹,把以下代码保存在C目录中,文件名为home.php。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    <?php
    class home {
        function index()
        {
            echo "hello, world! fucking gfw!"
        }
     
        function user($para)
        {
            echo 'hello, '.htmlspecialchars($para['name']);
        }
    }
    ?>

    这样,当访问index.php时,将会执行默认控制器home的默认方法index。
    访问index.php?m=user&name=sallon时将会执行home->user($para)方法。
    新建控制器时,只需在index.php后指定c=’控制器名’就可以了。

    正则表达式实现视频解析

    前天帮同学下载一部电视剧,但找到的bt种子速度太慢,只好放弃,于是决定下载56网的视频,只所以选择56网,是因为它的视频没有被分割,而且我可以牛刀小试一下正则表达式,利用它来批量解析下载地址。之后使用迅雷下载,甚爽。

    下面这个是使用perl写的(文件名parse),适用于批量解析。可将所有需要下载视频的flash地址(例:http://www.56.com/n_v48_/c23_/8_/19_/hellowjjb_/
    zhajm_120817547185x_/2725000_/0_/32802621.swf)写入一个文件(1.txt),然后运行perl -w parse 1.txt > 2.txt 即可瞬间得到下载地址。

    while ($line=<>)
    {
    if($line=~m/^http:\/\/www.56.com[^c]*?c(\d\d?)_\/(\d\d?)_\/(\d\d?)_\/([^\/]+?)_\/([^\/]*?)_\/.*swf\b/)
    {
    print “http://c$1.56.com/flvdownload/$2/$3/$4\@56.com_56flv_$5.flv\n”;
    }
    }

    这个是php版的代码:

    <html>
    <head>
    <title>56网视频解析</title>
    </head>
    <body>
    <h3 style=”text-align:center”>视频解析</h3>
    <br />
    <form method=”post” action=”#”>
    <center><input type=”text” size=”60″ name=”url” />
    <input type=”submit” name=”submit” value=”Submit” /></center><br />
    </form>

    <?php
    if(isset($_POST['url'])&&isset($_POST['submit']))
    {
    $url=$_POST['url'];
    $pattern=’/^http:\/\/www.56.com[^c]*?c(\d\d?)_\/(\d\d?)_\/(\d\d?)_\/([^\/]+?)_\/([^\/]*?)_\/.*swf\b/’;
    if(preg_match($pattern,$url,$matches))
    {
    $download=”http://c$matches[1].56.com/flvdownload/$matches[2]/$matches[3]/$matches[4]@56.com_56flv_$matches[5].flv”;
    }
    else
    {
    $download=”sorry,can not parse download address!”;
    }
    echo “下载地址是:<br />$download”;
    }
    ?>
    </body>
    </html>

    效果请看 这里.

    php学习

    php快看完了,这个语言给我的最大感觉就是简单,灵活,用起来随心所欲,很有keep it simple, stupid的特色,语法什么的跟c比较接近。所以很容易上手。刚刚写完了一个简单的小型cms系统,基本功能都有了,就是界面奇丑无比,布局很混乱。唉,没半点艺术细胞.. 看来得好好研究一下css了。

    有时脑袋发晕了,什么错误都会犯,比如下面这个admin页面。一运行,就会出错Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource…看了半天不知道哪儿有问题。上网搜索也没有答案。后来我把查询语句移到函数外面则正常执行。折腾了大半天,才突然意识到虽然在开头把’conn.php’包含进来了,函数内部却没有声明。 global $a_users;下面加一名global $conn;就没问题了。

    Read the rest of this entry »