标签: php

  • PHPNOW目录浏览启用关键点

    下载了PHPNOW的精简版 PnLite-12.02.04 结果无论如何都无法启用目录浏览,翻遍了资料发现只需要在httpd.conf 中添加支持模块。
    LoadModule autoindex_module modules/mod_autoindex.so
    LoadModule dir_module modules/mod_dir.so
    即可!汗,折腾大半天,mark一下备用
    —————————

    一.目录浏览的配置。
    主配置文件 httpd.conf 中修改:
    1)添加支持模块。
    LoadModule autoindex_module modules/mod_autoindex.so
    LoadModule dir_module modules/mod_dir.so
    2)为DocumentRoot目录添加Options Indexes,即可生成目录。

    options Indexes FollowSymLinks

    3)加载 httpd-autoindex.conf 配置
    Include conf/extra/httpd-autoindex.conf

    在配置文件httpd-autoindex.conf中的修改:
    IndexOptions FancyIndexing HTMLTable VersionSort NameWidth=* FoldersFirst Charset=UTF-8 SuppressDescription SuppressHTMLPreamble
    其中FancyIndexing 支持美化显示;HTMLTable 允许底层代码把文件列表生成在一个table元素里面;VersionSort 安装版本排序;NameWidth=* 页面自动匹配文件名宽度;FoldersFirst 安装文件夹优先排列;Charset=UTF-8 支持中文显示;SuppressDescription 不显示文件描述;最后一个忘记是什么了,去看apache 官网的说明。。。
    2.apache 原生目录实在难看难过。还好有改善的方法。
    网上有 H5AI 的模版可以下载使用。但现在是用在嵌入式平台,资源有限,只做了参考。
    1)apache提供配置两个文件,以便修饰页面。
    # ReadmeName is the name of the README file the server will look for by
    # default, and append to directory listings.
    #
    # HeaderName is the name of a file which should be prepended to
    # directory indexes.
    ReadmeName /footer.shtml (文件前必须加/,使用绝对路径,否则子目录无法继承该文件)
    HeaderName /header.shtml
    这两个文件放于DocumentRoot目录下。
    2)如果制作这两个文件基本与底层无关了。可以参考:
    http://www.360doc.com/content/12/0113/22/3130130_179259431.shtml

  • 几段值得初学者研究的PHP代码段

    无意在网络上看到这篇文章,想起了相当年偶独自苦学PHP的过程,马克下!

    经典循环例子

    <HTML>
    <HEAD>
    <TITLE>经典循环例子</TITLE>
    </HEAD>
    <BODY>
    <?
    for($counter = 1; $counter <= 6; $counter++) //循环6次
    {
    print(“<B>counter is $counter</B><BR>n”); //打印6次
    }
    ?>
    </BODY>
    </HTML>
    for的高级运用
    <HTML>
    <HEAD>
    <TITLE>for的高级运用</TITLE>
    </HEAD>
    <BODY>
    <?
    /*
    ** 打印必要的说明文字
    */
    print(“<B>距离星期一还有几天?</B>n”);
    print(“<OL>n”);
    for($currentDate = date(“U”); //定义$currentDate时间格式
    date(“l”, $currentDate) != “Monday”; //判断是不是当前系统时间是Monday
    $currentDate += (60 * 60 * 24)) //当前时间加上1天
    {
    /*
    ** 打印时间名称
    */
    print(“<LI>” . date(“l”, $currentDate) . “n”);
    }

    print(“</OL>n”);
    ?>
    </BODY>
    </HTML> (更多…)

  • ASP不是简单、低能的代名词

    很多人错误地认为ASP是简单、低效的代名词,认为ASP是低能的,不足挂齿的,也很简单,一学就会,一琢磨就精通。

    有人讲ASP不安全,写ASP的程序的时候如果严格按照书写安全的代码的规范去写,写出来的程序也没有什么理由不安全。那些人说ASP不安全,好像PHP、JSP的程序就不会出现SQL Injection似的。

    有人讲ASP不高效,真的想要高效的话你可以结合COM,在Win32平台下COM的效率Java是永远追不上的。单纯讲速度有什么意义呢?Java的速度绝对算不上高,论速度的话好多技术方案的速度都比Java高,这一点学Java的人最清楚了,可是谁在乎过这一点了?Java的胜出绝对不是因为它的速度。抛开具体的应用环境单纯地讲速度是不理性的。

    有人讲ASP这个不能做,那个做不了,功能很局限。其实只要你明白Web的原理的话你就会明白,写ASP程序表面看是在玩一种脚本语言, (更多…)

  • mysql错误:Table XXX is marked as crashed and should be repaired[转]

    真的很感谢网络这个东西,还有那些无私的将自己的知识经验奉贤出来的人们!

    一日正在上班,朋友的QQ图标就激烈的闪亮起来,一看,原来是论坛出现问题了,具体报错如下:

    Table '.Tablenameposts' is marked as crashed and should be repaired

    提示说论坛的帖子表posts被标记有问题,需要修复。我记得以前也出现过类似的问题,但是只要点击Phpmyadmin上的repair按纽就自动修复了,但是这次很绝,什么都没有.于是赶快上网查找原因。最终将问题解决。解决方法如下:

    找到mysql的安装目录的bin/myisamchk工具,在命令行中输入:

    myisamchk -c -r ../data/tablename/posts.MYI

    然后myisamchk 工具会帮助你恢复数据表的索引。好象也不用重新启动mysql,问题就解决了。 (更多…)

  • 抛弃WP-PageNavi,为WP自制分页导航功能

    WP-PageNavi是WP的一个优秀的分页导航插件,相信70-80%的P友,一定在用这个插件。

    翠花,上图,这个插件的显示效果,是十分的漂亮的。

    不过,作为骨灰级的WP狂热者,相信一定不愿意在自己WP站上,被一堆的插件插来插去的。你一定是以最精简作为你的终身目标的,或许你不是,但我是!

    废话少说,今天,在这里分享一个将分页导航功能直接写入WP主题的方法,希望对各位骨灰级朋友有用。

    第一步,找到所用模板中的function.php文件。打开后。将下边代码用力的插进去!注意!要插在<?php………………?>中省略号处,别插错地方了!

    
    function wp_pagenavi($before = '', $after = '') {
    global $wpdb, $wp_query;
    if (!is_single()) {
      $request = $wp_query->request;
      $posts_per_page = intval(get_query_var('posts_per_page'));
      $paged = intval(get_query_var('paged'));
      $pagenavi_options = get_option('pagenavi_options');
      $numposts = $wp_query->found_posts;
      $max_page = $wp_query->max_num_pages;
    
      if(empty($paged) || $paged == 0) {
       $paged = 1;
      }
      $pages_to_show = intval($pagenavi_options['num_pages']);
      $pages_to_show_minus_1 = $pages_to_show-1;
      $half_page_start = floor($pages_to_show_minus_1/2);
      $half_page_end = ceil($pages_to_show_minus_1/2);
      $start_page = $paged - $half_page_start;
      if($start_page <= 0) {
       $start_page = 1;
      }
      $end_page = $paged + $half_page_end;
      if(($end_page - $start_page) != $pages_to_show_minus_1) {
       $end_page = $start_page + $pages_to_show_minus_1;
      }
      if($end_page > $max_page) {
       $start_page = $max_page - $pages_to_show_minus_1;
       $end_page = $max_page;
      }
      if($start_page <= 0) {
       $start_page = 1;
      }
      if($max_page > 1 || intval($pagenavi_options['always_show']) == 1) {
       $pages_text = str_replace("%CURRENT_PAGE%", $paged, $pagenavi_options['pages_text']);
       $pages_text = str_replace("%TOTAL_PAGES%", $max_page, $pages_text);
       echo $before.'<div >'."n";
       switch(intval($pagenavi_options['style'])) {
        case 1:
         if(!empty($pages_text)) {
          echo '<span >'.$pages_text.'</span>';
         }     
         if ($start_page >= 2 && $pages_to_show < $max_page) {
          if(!empty($pagenavi_options['dotleft_text'])) {
           echo '<span >'.$pagenavi_options['dotleft_text'].'</span>';
          }
         }
         previous_posts_link($pagenavi_options['prev_text']);
         for($i = $start_page; $i  <= $end_page; $i++) {      
          if($i == $paged) {
           $current_page_text = str_replace("%PAGE_NUMBER%", $i, $pagenavi_options['current_text']);
           echo '<span >'.$current_page_text.'</span>';
          } else {
           $page_text = str_replace("%PAGE_NUMBER%", $i, $pagenavi_options['page_text']);
           echo '<a href="'.clean_url(get_pagenum_link($i)).'" title="'.$page_text.'">'.$page_text.'</a>';
          }
         }
         next_posts_link($pagenavi_options['next_text'], $max_page);
         if ($end_page < $max_page) {
          if(!empty($pagenavi_options['dotright_text'])) {
           echo '<span >'.$pagenavi_options['dotright_text'].'</span>';
          }
          $last_page_text = str_replace("%TOTAL_PAGES%", $max_page, $pagenavi_options['last_text']);
          echo '<a href="'.clean_url(get_pagenum_link($max_page)).'" title="'.$last_page_text.'">'.$last_page_text.'</a>';
         }
         break;
        case 2;
         echo '<form action="'.htmlspecialchars($_SERVER['PHP_SELF']).'" method="get">'."n";
         echo '<select size="1" = this.options[this.selectedIndex].value;">'."n";
         for($i = 1; $i  <= $max_page; $i++) {
          $page_num = $i;
          if($page_num == 1) {
           $page_num = 0;
          }
          if($i == $paged) {
           $current_page_text = str_replace("%PAGE_NUMBER%", $i, $pagenavi_options['current_text']);
           echo '<option value="'.clean_url(get_pagenum_link($page_num)).'" selected="selected" >'.$current_page_text."</option>n";
          } else {
           $page_text = str_replace("%PAGE_NUMBER%", $i, $pagenavi_options['page_text']);
           echo '<option value="'.clean_url(get_pagenum_link($page_num)).'">'.$page_text."</option>n";
          }
         }
         echo "</select>n";
         echo "</form>n";
         break;
       }
       echo '</div>'.$after."n";
      }
    }
    }

    第二步:找到你想加入分页导航的页面,如首页、分类页等。再用力的插入如下代码:

            

      

    第三步:找到你的CSS文件,再次用力的插入如下代码:

    /* Page Navigation
    ---------------------------------------------*/
    .navigation {
    padding-top:15px;
    padding-bottom:2px;/*visivility-IE*/
    border:1px solid #fff;
    }
    .alignleft {
    float:left;
    }
    .alignright {
    float:right;
    }
    .aligncenter, div.aligncenter {
    display: block;
    margin:0 auto;
    }
    .wp-pagenavi {
    text-transform:uppercase;
    }
    .wp-pagenavi a {
    text-decoration:none;
    border:1px solid #b3b3b3;
    color:#212236;
    margin:2px;
    padding:2px 6px;
    }
    .wp-pagenavi a:hover {
    color:#fff;
    background-color:#9c0;
    }
    .wp-pagenavi span {
    border:1px solid #b3b3b3;
    margin:2px;
    padding:2px 6px;
    }
    .wp-pagenavi span.pages {
    color:#777;
    margin-left:0;
    color:#000;
    word-spacing:0.2em;
    }
    .wp-pagenavi span.current {
    color:#212236;
    background-color:#e8edef;
    }

    至此,WP分页导航大法修炼成功。注意:功夫一定要做足,一定要插三次,一次都不能少!

    转自:毒龙的世界