老电脑做HTPC,i5第三代最佳性价比装机浅谈,考虑以后升级!(上)

好多年没玩DIY了,应该说这是我人生第三次兴起PC DIY热潮,引发一阵回忆…这里就不说了,话说为什么引起第三次DIY的激情.因为老爸最近想组HTPC,那么本来预算3500,应该是够了的,但是想配个I5+高端显卡+SSD+无线键鼠,好的我不得不说这个很勉强.于是经过大量资料的查阅和思考,以及一晚上和老爸沟通,终于得出做出决定,把我这个破电脑给我老爸做HTPC.废话少说,我来解解如果最近有跟我一样迷惑的人的装机的一些问题,希望对大家有所帮助.

由于篇幅较长,分为上下两文,今天来讲讲如何将现有配件另外弄点东西组成两台电脑,既满足我个人需求也满足老爸需求.另外如何选购HTPC的机箱和无线键鼠.

首先说说我目前拥有的东西:

CPU:AMD X2 4000+(OC 稳定5000+使用中),
主板:nForce 570 Ultra,
内存:2x2G (2G 金邦白金DDR2 800 + 2G 金邦水货DDR2 800,网上买不到白金了,不想买淘宝货),
显卡:ONDA GT240 GD5,
电源:先马额定400W的电源,
显示器:19 LCD,
硬盘:250G+1T+1T+3T,
机箱:酷冷至尊毁灭者,
键鼠:杂牌,

预装的一套配置:

CPU:Intel  I5 3450(散)    1130
主板:七彩虹战旗C.Z77 X5   800
内存:4G DDR3 1333二手    80?
显卡:集成
电源:大水牛劲睿 600   280-300
总价: 2300左右

那么其实上面这些东西要组成两台电脑还差几个东西,差一个机箱,一套键鼠,仅此而已,而这个机箱和键鼠将是给老爸用的,HTPC用什么机箱和键鼠,当然是接口多,外观时尚的机箱,因为客厅等条件限制考虑购买立式机箱,既然如此就买支持大主板的吧,既然是HTPC当然要配无线键鼠,稍候将对这两个东西进行推荐.

那么说服了老爸用我的旧电脑做HTPC,他的SSD就无法充分发挥性能了,至于为什么,主要原因是SATA2对SSD读取速度限制过度,虽然使用中几乎无法察觉,如果比较关心SATA2接口使用SSD的相关文章,推荐看这篇SATA2过时 老用户选SSD用纠结接口吗?,另外老爸需要一款支持USB3.0,本来说要有esata接口的,可惜我的旧主板不支持,那么最好的解决方案就是要有支持热插拔3.5寸硬盘的机箱,所以找到了这样几款机箱:

TT V3 BlacX Edition 中塔机箱   200-300元
游戏悍将 白鲨   250-350元
酷冷至尊 特警431至尊版机箱    300-400元

根据不同需求和价格可参考,产品参数大家自行搜索,免有广告之嫌,呵呵…太水的机箱也就不考虑了,这几款应该是相当有性价比的了.之所以这么选择考虑到大部分主板不支持eSata,毕竟总感觉还没有普及,对于有了热插拔的机箱,我又准备在父亲节之际送老爸一块1T,那么他要拷贝数据很是方便了.另外考虑到以后目前预计将新配的电脑也将给老爸用,所以以后这机箱配后装的电脑很是合适.说完机箱再来说说HTPC无线键鼠.

考虑到HTPC无线键鼠,我想至少应该配一多媒体键盘吧.于是我有找了很多很多,找到以下几个还觉得不错的产品推荐大家参考:

罗技 MK270无线键鼠套装   130-150元
雷柏8300 多媒体HTPC无线键鼠   150-170元
罗技Pro2400 无线键盘  170-190元

也是根据不同价位,不同外观给大家参考,当然我最后决定给老爸买TT V3 BlacX Edition 中塔机箱罗技Pro2400 无线键盘,那么价格应该在380左右.

这样下来,两台电脑均配好了,算一下总投入,2300+380≈2700,除去了SSD没买,显卡没买,省下不少钱,而SSD不买,显卡没买,为什么新主板选用七彩虹这款以及B75,H77,Z75,Z77怎么选,内存为什么用如此低端等等内容我将在下篇详解,敬请关注.

phpcms文章列表循环不同样式制作方法

大家在用PHPCMS系统做网站的时候,有时候在列表循环可能希望用到不同的布局格式,而并不希望在整个列表中做好几个pc标签配合不同的start参数的时候,你可以试试我这个方法.

先来看看效果图:

phpcms文章列表循环不同样式制作方法
phpcms文章列表循环不同样式制作方法

那么我这张图清晰的告诉大家,这个列表分为三个部分,而我将采用两个PC标签完成它(之所以用两个PC标签输出,目的在于温习phpcms嵌套循环内容输出,当然你完全可以通过我的方法用一个PC标签搞定),因为CSS样式已经做好,这里大家只用看程序部分即可,先上代码部分:

<div class="hifi_PubArea">
  <div class="MainTitle">
    <div class="classTitle">
      <div><a href="{APP_PATH}cydiy/">创意DIY&nbsp;</a></div>
    </div>
    <div class="fr Blue_List_A"><a href="{APP_PATH}cydiy/" class="block_more"></a></div>
  </div>
  {pc:content action="lists" catid="40" order="id DESC" num="5" return="data"}
  <ul class="video_MainList">
    {php $num=0}
    {loop $data $r}
    {php $num++}
    {if $num==1}
    <li class="classMain">
    <a href="{$r[url]}"><img src="{$r[thumb]}" /></a>
    <h3><a href="{$r[url]}">{$r[title]}</a></h3>
    <p class="videoDpt">{$r[description]}</p>
    <p>栏目:<span>{$CATEGORYS[$r[catid]][catname]}</span></p>
    {php $keywords = explode(' ',$r['keywords']);}
    <p>书签:<span>{loop $keywords $keyword}<a href="{APP_PATH}{$r['catid']}-{urlencode($keyword)}.html" class="keywords">{$keyword}</a>{/loop}</span></p>
    <p>发布时间:<span>({date('Y-m-d',$r[inputtime])})</span></p>
    <div class="videoPart3">
      {pc:content action="lists" catid="40" order="id DESC" num="4" start="5" return="data"}
      <ul>
        {loop $data $v}
        <li><h4><a href="{$v[url]}">{str_cut($v[title],54,'...')}</a></h4></li>
        {/loop}
      </ul>
      {/pc}
    </div>
    <div class="clear"></div>
    </li>
    {/if}
    {if $num>=2}
    {php $num++}
    <li class="videoPart2">
    <a href="{$r[url]}"><img src="{$r[thumb]}" /></a>
    <h4><a href="{$r[url]}">{$r[title]}</a></h4>
    <p>栏目:<span>{$CATEGORYS[$r[catid]][catname]}</span></p>
    {php $keywords = explode(' ',$r['keywords']);}
    <p>书签:<span>{loop $keywords $keyword}<a href="{APP_PATH}{$r['catid']}-{urlencode($keyword)}.html" class="keywords">{$keyword}</a>{/loop}</span></p>
    </li>
    {/loop}
    {/if}
  </ul>
  {/pc}
</div>

看不懂?好吧,我简单说明一下,其中图片中的Part1Part2其实就是第一个PC标签所循环的内容,而循环出来的5篇文章,其中第一篇和后面四篇是不同的,那么,这里有个判断语句,给$num初始值定义为0,随着循环自增,当$num==1是输出第一个很特殊的结构样式,然后当$num>=2时,则开始输出剩余的4篇文章,Part3则穿插在Part1内,当然我有用了一个PC标签调用文章,这里就要增加一句start=”5″了,当然如果你不想用PC标签,其实可以用Part2同样的方法来做,当然不要忘记在第8行内的num改成9,因为此栏目一共有9篇文章,那么就呈现了一个PC标签循环列表中可以采用三种不同的样式结构了.

其实这段代码理解起来也没有什么难度,基本上是基本语法,希望大家看了之后有所收获能够在其他所需要的地方活学活用.

希捷新3T硬盘老主板也能装系统

无奈我的几个硬盘都已经满了除了双系统的还剩5G空间,我这2200G的硬盘剩下不到20G了…憋屈了很久,想买硬盘,可是硬盘迟迟不降价.今天突然看到中关村一篇文章,叫做硬盘价格轰然倒塌,于是忍不住偷笑,这小编肯定又要挨骂了.进去看看果然不出所料,不过这次很惊喜我一直想买的3T降到1000以内了,不过,之前了解到老主板只能支持2T硬盘做系统盘,于是乎对于3T硬盘估计只能做存储盘了.

不过紧接着看到一篇文章,感到惊喜,这篇同样来自中关村的文章3TB硬盘首破千元 性能价格PK谁最出众,不仅了解到了硬盘性能简单比较和评测,同样也学到了3TB硬盘如何安装到旧主板上.这里我就直接转载过来备用收藏了吼吼… 继续阅读“希捷新3T硬盘老主板也能装系统”

PHPCMS页面专题汇总列表内调用该专题内文章方法

好吧,由于工作需求,外加自己过分追求完美,晚上研究了一下,PHPCMS专题总列表页内的某个专题含有该专题的几篇文章的方式,其实原理很简单,核心思想是
1.嵌套循环.
2.数据库中存储总列表内某专题的id值等于该专题某文章列表的id值.


昨晚其实最后效果还有点问题,今天上午一上班继续解决,终于弄好了,现在跟大家分享心得.

前文可能这样说大家看不大明白,我先截取两张图片给大家看:

PHPCMS页面专题汇总列表内调用该专题内文章方法

想实现的效果:通俗点讲就是假设你后台有5个专题,而且这5个专题内有若干篇相关文章,你希望这个专题列表页面不单单显示出这5个专题信息,在列表中每个单独的专题区域能够显示该专题下的文章.

实现原理:很显然从逻辑上来讲就是一个嵌套循环,大循环,循环的是有多少个专题,挨个输出,而在每个已经输出的专题中,再次运行一次小循环,来循环当前专题内的所有文章.

准备工作:当然理解了原理,有了思想之后,就好办了,先看看PHPCMS V9专题管理的数据库表.这里有两个表”v9_special“和”v9_special_content“,一看就知道了,前者是管理有多少个专题的,后者是存放这些专题的所有内容的.而两个表如何关联起来,由于我数据库和php学的都不好(大家都知道我之前做网页设计和前端的–!),所以代码也许略有不合理的地方.我之前尝试用系统默认的PC标签”pc:special“来写,但是未能实现,于是只好用我认为最暴力的方式,直接读取数据库的”pc:get sql=’ ‘“,接着观察两个表的字段.他们功能连接的方式是v9_specialidv9_special_contentspecialid.那么再循环过程中将这两个值关联起来就可以了.

实现方法:由于这个站展示在公司网站上了,所以就不写CSS出来了,大家只需要理解了,可以自己想怎么用就怎么用.我的代码是这样写的:

<div class="hifi_PubArea">
  <!--嵌套循环输出专题及专题内文章By小白-->
  {pc:get sql="SELECT * FROM v9_special ORDER BY createtime DESC" num="10" return="data"}
  <ul class="hifi_ListPage_MainList">
    {loop $data $r}
    {php $sid=$r['id']}
    <li>
      <div class="Title">
        <div class="LeftTitle">{if time()-$r['createtime'] <= 24*3600}<img src="{IMG_PATH}hifidiy/hifi010.gif" />{else}{/if}<a href="{$r['url']}">{$r['title']}</a><span>[<a href="{$CATEGORYS[$catid]['url']}">{$catname}</a>]</span></div>
        <div class="RightTitle"> <span class="author">{if $r['username']}{$r['username']}{else}hifidiy{/if}</span> </div>
      </div>
      <div class="Content">
        <div class="DivImg"><a href="{$r['url']}"><img src="{thumb($r['thumb'],165,95)}" alt="{$r['thumb']}" /></a></div>
        <div class="DivContent">{str_cut($r['description'],240)}[<a href="{$r['url']}">查看</a>]
          <div class="subArticle">
            {pc:get sql="SELECT * FROM v9_special_content WHERE specialid = '$sid'  ORDER BY updatetime ASC" num="4" return="data"}
            <ul>
              {loop $data $t}
              <li><a href="{$t['url']}">{$t['title']}</a></li>
              {/loop}
            </ul>
            {/pc}
          </div>
        </div>
      </div>
    </li>
    {/loop}
    <div class="bk"></div>
  </ul>
  <div id="pages">{$pages}</div>
  {/pc}
</div>

关键部位我已经做了高亮,方便大家查看.我顺便简单讲解一下, 第一行高亮表示从v9_special表获取所有字段内容,当然里面有个id字段的所有值也获取了,接下来将这个值赋值给sid,那么在第一个循环内,$sid==id,并继续执行下个循环(第二条高亮部分),从v9_special_content内获取所有字段的内容,当然这里加了个条件因为这个表内包含了不止一个专题的文章,因此我将条件设定为specialid==$sid,这样就不会出现文章调用问题了.至于数量顺序什么的就很简单了,这里不再熬述.

好了,其实写完这篇文章想想,好像很简单的一个自定义功能,但是为什么昨天晚上做了半天效果出不来呢,呵呵,还是编程语言基础不扎实,还得努力啊!

搭建latin1与utf-8的PHP环境想不乱码都不行的艰苦日子

好的,经过数天折磨,为了解决本地数据库乱码问题绞尽脑汁,费尽了精力.最终以失败告终,尝试了各种字符组合,安装了无数次phpcms系统.重装了无数次操作系统,用了各种版本IIS,各种mysql,各种php,无论是64位系统还是32位系统,配置了各种php.ini, my.ini……最终以失败告终.

我放弃了,心中怒喊一声I QUIT!……不过工作还得继续…我可怜巴巴的问很少在公司负责管理服务器的上级领导.结果说是,本地数据库表内汉字的确是乱码,我简直要疯了,原来这是一个不可能完成的MISSION…除了坑爹二字形容我的心情就是不免内心一阵抱怨…之前还总说我环境不对,所以会出现莫名的问题,我看跟环境没关系,IIS 5.1, 6.0, 7.5配置PHP可不是简单事情,浪费我多少青春,接下来我就要总结这些其实很傻的结论.越来越觉得这几天傻的出奇.

继上次写了一篇PHPCMS V9安装步骤详细介绍及说明(有效避免乱码产生),其实我开始觉得有时候有些乱码不可避免(虽然内心还是觉得latin1和utf-8应该有办法在数据库表内值进行转码).

首先不得不承认,如果没有什么特殊情况,请下载安装phpcms V9 UTF-8版,在安装过程中,选择创建UTF8的数据库,这一步做好了一般无论是环境整合包还是单独配置各个插件都不会出现乱码.

另一方面,如果没有特别需求,真的不建议用IIS搭建PHP服务器,可能个人感觉吧,总觉得那玩意就是玩ASP的,甚至ASP.NET都支持不好.而方便又轻松的选择是XAMPP, WAMP等等,当然或许用官方的PC_webServer也不错,不过他们都差不多.至于操作系统,普通应用比如说博客,企业站什么的,根本不在乎,别说什么linux好,数据库上千M了我看看执行效率是不是跟windows会有点点差距.

如果单独安装mysql进行配置的时候建议在选择字符集的那里选择utf-8,默认是选择了第一个,建议手动选择第三个,并在下拉菜单默认的latin1更改为utf-8.说到mysql配置,我不得不说我遇到的一个小问题,在mysql配置的最后一步,总会卡到未响应,只好强制关闭,原因很简单其实在之前的配置过程中,有一段英文是防火墙添加3306断口例外.勾上就没问题了.

当然,我的情况就是服务器上数据库创建时用的是latin1,而我有没有权限更改这个,我只有用phpcms备份数据库并将备份文件拷贝下来的权限.所以还原的时候本地数据库用latin1也会是乱码,如果本地数据库是utf-8,会产生更为糟糕的结果,数据无法导入.

至于怎么让本地服务器汉字恢复正常,我准备从备份的sql文件下手,研究一下…期待我的成果吧!