方法一:

<?php
function extend_1($file_name)
{
$retval="";
$pt=strrpos($file_name, ".");
if ($pt) $retval=substr($file_name, $pt+1, strlen($file_name) - $pt);
return ($retval);
}
?>
方法二:

function extend_2($file_name)
{
$extend = pathinfo($file_name);
$extend = strtolower($extend["extension"]);
return $extend;

方法三:

function extend_3($file_name)
{
$extend =explode("." , $file_name);
$va=count($extend)-1;
return $extend[$va];
}

分类: 网页设计 标签: 日期:2011-02-07

将以下代码加入到您的网页中,放置在</body>标签前,即可使用百度在线拼音输入法。

简单方式:

<script type="text/javascript" src="http://www.baidu.com/olime/bdime_open.js"></script>

说明:采用简单方式的接口使用百度在线输入法时,所有设置将使用默认状态,如需要自定义各设置项,请使用高级方式。

高级方式:

<script type="text/javascript">

var bdime_option = {
    ch : true,
    bc : true,
    pt : true,
    on : true,
    domain : "",
    username : "",
    targets : []
}

</script>

<script type="text/javascript" src="http://www.baidu.com/olime/bdime_open.js"></script>

参数说明:

    ch

        中/英文开关,true表示中文、false表示英文,可缺省,默认中文;

    bc

        全/半角开关,true表示半角、false表示全角,可缺省,默认半角;

    pt

        中/英文标点开关,true表示中文标点、false表示英文标点,可缺省,默认中文标点;

    on

        休眠开关,true表示开启、false表示休眠,可缺省,默认开启;

    domain

        cookie作用域(用于记录休眠、中/英文、全/半角、中/英文标点开关的状态),可缺省,默认不记录状态,cookie对应的key是bdime;

    username

        百度账号,可缺省,无默认值;

        用户词库接口,指定相同的值将获得相同的用户词库用于存放用户自造词。站长也可以通过制定此值使得网站上所有用户获得相同的用户词库。(未开放)

    targets

        指定哪些输入框可以使用百度在线拼音输入法(输入框对象或id,多个输入框以","分隔),可缺省,默认自动识别页面中的输入框;

其他接口:

    bdime.close()

        当百度在线拼音输入法加载并初始化成功之后,可通过此方法关闭百度在线拼音输入法;

    bdime.open()

        当百度在线拼音输入法处于休眠状态或通过bdime.close()关闭之后,可通过此方法重新开启百度在线拼音输入法;

分类: 网页设计 标签:, 日期:2011-01-12

首先把以下函数放在 WordPress 主题文件夹里的 functions.php 中:

function filter_where($where = '') {
$where .= " AND post_date > '" . date('Y-m-d', strtotime('-30 days')) . "'";
return $where;
}
function some_posts($orderby = '', $plusmsg = '',$limit = 10) {
add_filter('posts_where', 'filter_where');
$some_posts = query_posts('posts_per_page='.$limit.'&caller_get_posts=1&orderby='.$orderby);
foreach ($some_posts as $some_post) {
$output = '';
$post_date = mysql2date('y年m月d日', $some_post->post_date);
$commentcount = '('.$some_post->comment_count.' 条评论)';
$post_title = htmlspecialchars(stripslashes($some_post->post_title));
$permalink = get_permalink($some_post->ID);
$output .= '

  • ' . $post_title . ''.$$plusmsg.'
  • ';
    echo $output;
    }
    wp_reset_query();
    }
    可以看到第二行中的 30 就是指最近 30 天,也可以根据你自己的需要修改这个时间。至于调用则和升级版之前的一样,下面只是比上次多加了一个 $limit 参数:

    < ?php
    //最新日志
    some_posts( $orderby = 'date', $plusmsg = 'post_date', 10 );
    //热评日志
    some_posts( $orderby = 'comment_count', $plusmsg = 'commentcount', 10 );
    //随机日志
    some_posts( $orderby = 'rand', $plusmsg = 'post_date', 10 );
    ?>

    分类: 网页设计 标签: 日期:2011-01-11

    location / {
    # if the requested file exists, return it immediately
                   if (-f $request_filename) {
                           break;
                   }
                   set $supercache_file '';
                   set $supercache_uri $request_uri;
                   if ($request_method = POST) {
                           set $supercache_uri '';
                   }
    # Using pretty permalinks, so bypass the cache for any query string
                   if ($query_string) {
                           set $supercache_uri '';
                   }
                   if ($http_cookie ~* "comment_author_|wordpress|wp-postpass_" ) {
                           set $supercache_uri '';
                   }
    # if we haven't bypassed the cache, specify our supercache file
                   if ($supercache_uri ~ ^(.+)$) {
                           set $supercache_file /wp-content/cache/supercache/$http_host/

    $1index.html;
                   }
    # only rewrite to the supercache file if it actually exists
                   if (-f $document_root$supercache_file) {
                           rewrite ^(.*)$ $supercache_file break;
                   }
    # all other requests go to WordPress
                   if (!-e $request_filename) {
                           rewrite . /index.php last;
                   }

    分类: 网页设计 标签:, 日期:2011-01-05

    MySQL左连接查询是联合查询中的一种方式,就是说把两个相关的表通过这种方式联合在一起查询,从而更加方便调用数据,避免多层循环嵌套。

    左连接查询所用关键字 left join
    ,书面解释如下:

    左外连接(左连接):结果集既包括连接表的匹配行,也包括左连接表的所有行。
    下面我解释一下,也就是说左链接查询的返回结果既包含了left join关键字左边表的全部资料,同时也包含了与左表匹配的右表中的符合条件的资源。 简单的说就是以左表为中心,连带右表中的符合条件的资源。

    Sql语句的写法:

    SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c

    相信大家看完之后一定很晕把,没关系,我解释一下大家就都明白了,看似复杂,其实条理很清楚。它的意思是:


    select a.a , a.b

    a.a 就是a表中的a字段的意思。


    Select与from之间放的就是a表 b表中的相关要查询的字段。


    from a LEFT OUT JOIN b
    就是 从以a表为主左链接上右表b ,
    匹配条件是 a表的a字段等于b表的c字段。

    通过这几点解释相信大家也都明白百分之八十了,下面我们通过实例的演示再给大家说一下:

    首先建立两个表

    表pic
    用于存放图片名字的表

    CREATE TABLE `image`.`pic` (

    `id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `pname` VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL

    ) ENGINE = InnoDB

    表二 用于存放图片评论的

    CREATE TABLE `image`.`comment` (

    `id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `pid` INT( 10 ) NOT NULL ,
    `content` VARCHAR( 20 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL

    ) ENGINE = InnoDB

    下面我要联合查询这两个表通过一条sql语句,注意以前咱们查询两个表肯定是先写一个表的sql然后在根据条件循环查询另一个表,现在不用了,通过这种查询,把返回结果放到一个数组中,

    Sql语句写法:select
    pic.*,comment.*
    from
    pic left join comment
    on
    pic.id=comment.pid

    代码如下:
    $conn = mysql_connect("localhost","root","");
    if(!$conn){
    die('连接MySQL数据库失败: ' . mysql_error());
    }

    mysql_select_db('image');

    $sql="select
    pic.*,comment.*
    from
    pic left join comment
    on
    pic.id=comment.pid";
    $re=mysql_query($sql);
    while($re1=mysql_fetch_array($re))
    {
    $arr[]=$re1;
    }
    print_r($arr);

    打印结果如下:

    Array
    (
    [0] => Array
    (
    [0] => 1
    [id] => 1
    [1] => aaaaaaaaa
    [pname] => aaaaaaaaa
    [2] => 1
    [3] => 1
    [pid] => 1
    [4] => ccccccc
    [content] => ccccccc
    )
    [1] => Array
    (
    [0] => 2
    [id] => 2
    [1] => bbbbbbbbbbb
    [pname] => bbbbbbbbbbb
    [2] => 2
    [3] => 2
    [pid] => 2
    [4] => vvvvvvv
    [content] => vvvvvvv
    )
    )
    Ok

    分类: 网页设计 标签: 日期:2011-01-03

    <?php
    class word
    {
    function start()
    {
    ob_start();
    print'<html xmlns:o="urn:schemas-microsoft-com:office:office"
    xmlns:w="urn:schemas-microsoft-com:office:word"
    xmlns="http://www.w3.org/TR/REC-html40">';
    }
    function save($path)
    {
    print "</html>";
    $data = ob_get_contents();
    ob_end_clean();
    $this->wirtefile ($path,$data);
    }
    function wirtefile ($fn,$data)
    {
    $fp=fopen($fn,"wb");
    fwrite($fp,$data);
    fclose($fp);
    }
    }
    ?>

    分类: 网页设计 标签:, 日期:2011-01-01

    插入数据

    include 'pdbm.php';

    $timestart = explode(' ', microtime());
    $timestart = $timestart[0] + $timestart[1];

    $pdbm = new Pdbm('test');
    $pdbm->open(PDBM_CREAT | PDBM_REWD);

    for ($i = 0; $i < 100000; $i++) {
        $pdbm->insert("key{$i}", "value{$i}");
    }

    $timetime = explode(' ', microtime());
    $timetime = $timetime[0] + $timetime[1];

    echo $timetime - $timestart;
    //*/

    获取数据

    include 'pdbm.php';

    $timestart = explode(' ', microtime());
    $timestart = $timestart[0] + $timestart[1];

    $pdbm = new Pdbm('test');
    $pdbm->open(PDBM_REWD);

    $val = $pdbm->fetch('key9999');
    if ($val == NULL) {
        echo 'Not found</br>';
    } else {
        echo $val."<br/>";
    }

    //$pdbm->delete('key100'); //delete data

    $val = $pdbm->fetch('key100');
    if ($val == NULL) {
        echo 'Not found</br>';
    } else {
        echo $val."<br/>";
    }

    $timetime = explode(' ', microtime());
    $timetime = $timetime[0] + $timetime[1];

    echo $timetime - $timestart;
    //*/

    (更多...)

    分类: 网页设计 标签: 日期:2010-12-30

    wp_postmeta 表 是存储文章附带信息的,除了一些特定时候里面的数据是没有用的我之前也写过数据清理文章简单的给出了两条语句并且有其他数据表的清理,详情参见wordpress数据库清理

    下面在给出几条语句让你的wp_postmeta干净到非常。

    DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';
    DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';

    这是之前给出的两条语句测试安全删除无危险。

    DELETE FROM wp_postmeta WHERE meta_key = '_wp_old_slug';
    DELETE FROM wp_postmeta WHERE meta_key = '_revision-control';
    DELETE FROM wp_postmeta WHERE meta_value = '{{unknown}}';

    这是新尝试的三条语句,前两条危险性不大。最后一条不太清楚目前作用,但是删除后无任何异常。这五条语句执行完毕能够删除掉95%以上的数据,算的上是极限优化了,最后考虑到这个数据表并不是很重要,有洁净癖的人可以尝试清空这个表,当然我测试清空表会让一些原本的数据丢失。

    分类: 网页设计 标签:, 日期:2010-12-29

    之前写过一篇这个插件的文章WP Cleaner 删除wordpress不再需要的修订版,但是自从某次升级以后变无法使用这款插件了,我一直以为是插件的问题,并且作者也发出了一个修正版本,但是情况依然没有改变,我还是无法使用。

    这两天找了找其他的清理插件,效果没有这个理想还是想用这款插件,于是耐下心来看了看插件的代码,结果发现并不是大问题,因为我的空间不在支持短标签了,而插件是使用的短标签“<? ”我只需要改成“<?php ”即可了,粗略看了下代码使用了三次替换来处理这块。

    第一,把代码里的“<?=”替换为“<?php echo ”
    第二,把“<?”替换为“<?php”
    第三,把“<?phpphp”替换为“<?php”

    完成这三次替换保存代码即可在关闭短标签的状态下使用了。

    插件官方地址:http://www.jiangmiao.org/blog/138.html

    本站提供修改版下载地址:http://www.box.net/shared/sarkgk9ma2

    PS:其实这个只是代码写作习惯问题,建议插件作者也处理下这块,毕竟运行环境有时候不用用户能够操作的,而且一个良好的习惯也是有必要的。

    分类: 网页设计 标签: 日期:2010-12-29

    详细步骤:

    1,登录http://www.wordpress.com

    2,在WordPress.com右上角找到 Sign Up Now。

    3,填写基本信息,需要注意的,我都注明了:

    4,到邮箱里点击链接验证,并更新个人信息。

    Update Your Profile!是 更新个人信息 的意思。

    这里有一个细节,可以体现WordPress.com的用户体验做的非常完美:如果一直没有收到验证的邮件,可以重新选择邮箱。

    5,点击邮箱里的验证链接,出现 Your account is now active! 表示帐户已经验证成功。

    6,登陆WordPress.com,登陆之后,http://www.wordpress.com首页左上角的用户状态已经变更:

    7,点击 My Account下面的Global Dashboard进入后台,再点击 Profile,再点击 Were you looking for your API Key and other Personal Settings?。

    8,在点开的页面里可以看到:Your WordPress.com API key is: xxxxxxxxx,这就是属于自己的Akismet的Api Key了。
    但要注意后面的一句话:Don't share your API key, it's like a password.中文意思是:这和密码一样重要,请勿分享给其他人使用。

    9,到这里,就完成Akismet的Api Key的获取过程,以后各位可以自己获取了。

    10,有任何问题,欢迎留言。

    分类: 网页设计 标签:, 日期:2010-12-28