日韩亚洲AV无码一区二区三区|av在线国产哟哟|国产精品人人爽人人爽AV|免费一区二区精品无码视频

<th id="kwciy"><video id="kwciy"></video></th>
<code id="kwciy"><em id="kwciy"><optgroup id="kwciy"></optgroup></em></code>
    1. <center id="kwciy"></center>

      <code id="kwciy"></code>

      0712-2888027 189-8648-0214
      微信公眾號(hào)

      孝感風(fēng)信網(wǎng)絡(luò)科技有限公司微信公眾號(hào)

      當(dāng)前位置:主頁(yè) > 技術(shù)支持 > PHPCMS > PHPCMS使用心得與技巧,以及小BUG的糾正

      PHPCMS使用心得與技巧,以及小BUG的糾正

      時(shí)間:2015-11-09來源:風(fēng)信官網(wǎng) 點(diǎn)擊: 875次

      用PHPCMS開發(fā)的第一個(gè)項(xiàng)目是一個(gè)素材類網(wǎng)站 ,之所以選PHPCMS估計(jì)是因?yàn)榭戳怂陌偃f級(jí)的數(shù)據(jù)測(cè)試報(bào)告。而之后,我越用感覺也越不錯(cuò)。當(dāng)然,期間遇到過不少問題, 總結(jié)了一下,方便以后開發(fā)。(版本:phpcms2008sp3_gbk)

      綜合問題

      使用GET標(biāo)簽時(shí)靜態(tài)分頁(yè)出錯(cuò)以及分頁(yè)地址會(huì)鏈接到后臺(tái)

      文件:/include/global.func.php
      函數(shù):pages
      在 if($curr_page>0) 前添加 $url = load('url.class.php'),如下:
      $url = load('url.class.php');
      if($curr_page>0)
      只要添加一行代碼就解決了,而在網(wǎng)上找的解決方法卻非常復(fù)雜,好郁悶!

      而分頁(yè)地址會(huì)鏈接到后臺(tái)則只需要將以下的第一行代碼替換成第二行就OK了,當(dāng)然,建議把第一行注釋掉,加上第二行。

      代碼如下:

      $multipage .= ' <u><b>'.$pages.'</b></u><a href="'.pageurl($urlrule, $curr_page, $array).'">下一頁(yè)</a>';
      $multipage .= $catid ?' <u><b>'.$pages.'</b></u><a href="'.$url->category($catid, $curr_page, 1, 1).'">下一頁(yè)</a>' : ' <u><b>'.$pages.'</b></u><a href="'.pageurl($urlrule, $curr_page, $array).'">下一頁(yè)</a>';

      上傳文件路徑修改

      文件:include/attachment.class.php
      找到 $this->savepath 和 $dir 這兩個(gè)變量,以下是修改后的值,路徑為“uploadfile/年/月/日/”:
      $this->savepath = UPLOAD_ROOT.date('Y/md/');
      $dir = date('Y/m/d/', TIME);

      將縮略圖保存到單獨(dú)的文件夾,這樣子也方便管理
      文件:/include/global.func.php
      $newimgurl = dirname($imgurl).'/thumb/thumb_'.$width.'_'.$height.'_'.basename($imgurl);

      文件:/include/attachment.class.php
      以下是 get_thumb 函數(shù)修改后的代碼

      代碼如下:

      function get_thumb($image)
      {
      /* 縮略圖文件夾 */
      $thumbdir = dirname($image).'/thumb';
      if (!file_exists($thumbdir)) mkdir($thumbdir, 0700);
      return dirname($image).'/thumb/thumb_'.basename($image);
      //return str_replace('.', '_thumb.', $image);
      }

      BUG (UPLOAD_PATH 不存在)

      記不清報(bào)什么錯(cuò)了,反正后來我是直接把 UPLOAD_PATH 這個(gè)常量刪掉,最后就正常了。有知道提示什么錯(cuò)誤的請(qǐng)留個(gè)言。
      提示錯(cuò)誤:Warning: mkdir() [function.mkdir]: No such file or directory in... 類似這樣子的
      只要把UPLOAD_PATH去掉然后更新緩存,一切正常。

      /include/fields/images/output.inc.php
      $thumb = UPLOAD_URL.$attachment->get_thumb(UPLOAD_PATH.$a['filepath']);

      全站搜索最多顯示的記錄數(shù)

      PHPCMS 的全站搜索很強(qiáng)大,貌似能支持百萬級(jí)的數(shù)據(jù)量。通常,搜索結(jié)果不需要輸出全部記錄數(shù)的,所以我將搜索輸出結(jié)果設(shè)置為最多1000條(已經(jīng)很多了,GOOGLE都沒這么多,呵呵),以下是修改后的部分代碼。

      代碼如下:

      文件:/search/index.php
      $page = max(intval($page), 1);
      $page = $page>100 ? 100 : $page; (增加了這行代碼)
      文件:/search/include/search.class.php
      $this->total = cache_count("SELECT COUNT(*) AS `count` FROM `$this->table` WHERE $where");
      $this->total = $this->total>1000 ? 1000 : $this->total; (增加了這行代碼)

      采集模塊

      該如何去設(shè)置采集規(guī)則就不多說了,官方有詳細(xì)介紹:http://www.phpcms.cn/2009/0522/220.html

      需要采集的話使用GBK版本的PHPCMS

      試過用UTF-8版本的去采集,結(jié)果不論怎么調(diào),采回來的中文都是亂碼,好郁悶。沒有深入研究,轉(zhuǎn)投GBK。

      修改采集圖片和壓縮文件時(shí)的保存路徑

      文件:/spider/include/get_remotefiles.func.php
      函數(shù):do_saveremotefiles
      修改函數(shù)中以下兩個(gè)變量;以下是我修改后的結(jié)果,保存路徑為“uploadfile/年/月/日/”:

      代碼如下:

      $filepath = PHPCMS_PATH . $uploaddir . '/' . date('Y/m/d') . '/';
      $uploaddir = PHPCMS_ROOT . '/' . $uploaddir . '/' . date('Y/m/d') . '/';

      采集內(nèi)容時(shí)無法遠(yuǎn)程保存圖片

      src 前的空格導(dǎo)致了圖片在采集內(nèi)容時(shí)采集不了,只有在發(fā)布時(shí)才能采集得到。
      文件:/spider/include/get_remotefiles.func.php
      函數(shù):get_remotefileurls
      以下分別是修改前和修改后的代碼,注意src前的空格,只要把空格去掉就OK了。

      代碼如下:

      if (!preg_match_all("/<(?:a|img).+?(href| src)=([\"|']?)([^ \"'>]+\.($ext))\\2/i", $string, $matches))
      if (!preg_match_all("/<(?:a|img).+?(href|src)=([\"|']?)([^ \"'>]+\.($ext))\\2/i", $string, $matches))

      遠(yuǎn)程保存非內(nèi)容中的圖片和文件

      采集模塊默認(rèn)只會(huì)保存“內(nèi)容”標(biāo)簽中的圖片和文件,而其它標(biāo)簽中不論出現(xiàn)多少次img或a都不會(huì)被采集。如果你需要把圖片和文件分別保存到其它字段,這個(gè)修改貌似挺有用的。
      文件:/spider/admin/mainspider.inc.php
      行數(shù):372行
      以下是修改結(jié)果:

      代碼如下:

      $v = get_remotefiles($v, 'gif|jpg|jpeg|bmp|png|rar|zip', $dourl, $basehref, true);

      抓取不到頁(yè)面時(shí)采集狀態(tài)改為未采集

      如果被采集網(wǎng)站不穩(wěn)定,有時(shí)會(huì)出現(xiàn)抓取不到采集頁(yè)面的情況,而此時(shí)采集狀態(tài)還是會(huì)被標(biāo)記為已采集。所以只要小小修改一下,我們會(huì)方便很多。
      文件:/spider/admin/mainspider.inc.php
      行數(shù):664行
      以下是修改結(jié)果,添加了“&& (trim($body)!=''”這一句:

      代碼如下:

      if (($body!=$LANG['title_or_content_null']) && (trim($body)!=''))
      熱門關(guān)鍵詞: PHPCMS 使用心得 BUG
      欄目列表
      推薦內(nèi)容
      熱點(diǎn)內(nèi)容
      展開