1. 備份資料庫及網站檔案


2. 起首到官網下載opencart 4.0.2.3
https://www.opencart.com/index.php?route=cms/download/history


3. 解緊縮檔案並上傳


4. 確認平台支援 PHP 8.2+


5. 豎立config.php 及 admin/config.php 可寫 只填 DB訊息

  1. // DB
  2. define('DB_DRIVER', 'mysqli');
  3. define('DB_HOSTNAME', 'localhost');
  4. define('DB_USERNAME', 'xxxx');
  5. define('DB_PASSWORD', 'xxxx');
  6. define('DB_DATABASE', 'xxxx');
  7. define('DB_PORT', '3306');
  8. define('DB_PREFIX', 'oc_');
文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()

IPFS利用有哪些 網頁設計

IPFS和Filecoin都是由協議實驗室打造的明星項目,IPFS是一種點對點、版本化、內容尋址的超媒體傳輸協議, 其所要構建的是一個分佈式的web 3.0;

Filecoin是一個基於IPFS的去中間化存儲收集,是IPFS上唯一的鼓勵層,是一個基於區塊鏈手藝刊行的通證。IPFS和Filecoin是相輔相成的,IPFS的強大和普及有益於為Filecoin帶來更多的客戶資源,Filecoin也能鞭策網絡朝著更有規律性、更具鼓勵性、更有協作性的標的目的成長。網頁設計


IPFS和談從2015年1月發布至今五年有餘,手藝也愈來愈成熟,作為下一代互聯網底層通訊和談,IPFS已成功應用在數據存儲、文件傳輸、收集視頻、社交媒體、去中間化買賣等各個範疇,這些APP、利用、平台,正在重構全部互聯網,今天,我們就來介紹有哪些運用利用了IPFS和談。
IPFS利用有哪些 網頁設計

1、搜索引擎
1、谷歌瀏覽器
谷歌瀏覽器(Google Chrome)是今朝世界上利用率和市場佔有率最高的瀏覽器。2019年初,IPFS 伴侶上架谷歌網上利用店,這個插件可以用來簡化IPFS 資本接見的瀏覽器擴大。
IPFS伴侶(IPFS Companion)是由IPFS官方運用社區孵化出來的一個瀏覽器插件,可以輔助用戶在當地更好的運行、經管本身的節點,並隨時查看IPFS節點的資本信息。無需下載,一鍵挪用。
IPFS利用有哪些 網頁設計

2、BRAVE
這是一款具有壯大告白阻擋功能的瀏覽器,不光能阻擋告白,還具有追踪珍愛的功能。
這個功能主要是隨時可以或許屏障垂綸網站,供給的私有云可以用匿名廣告庖代網站本來的告白,可以說一切告白在這個瀏覽器上都不存在,所有告白都被阻擋了,大大加速了網頁的加載和瀏覽速度,給用戶帶來更好的網絡體驗。現已嵌入IPFS插件。

IPFS利用有哪些 網頁設計
IPFS利用有哪些 網頁設計

BRAVE官網地址:https://brave.com/

IPFS利用有哪些 網頁設計
3、Firfox火狐瀏覽器
2018年1月26日,火狐WebExtensions 產品司理Mike Conca 在Mozilla 官網發布了文章(Extensions in Firefox 59),羅列了火狐59的最新擴大(目前發佈於測試版)。個中一項特征是支持包括IPFS在內的散佈式和談。
2018歲首年月,Firefox新增了“ipfs://”和談的支持。

IPFS利用有哪些 網頁設計
4、Opera瀏覽器
Opera在本年5月的時刻就宣布支撐IPFS了。雙方合作延續,估計今年年底之前在其Android版Opera瀏覽器中推出IPFS支撐。值得注意的是,Opera在瀏覽器中開發了加密錢包,有Android、iOS和桌面版。可見Opera很早就結構了區塊鏈生態支持。

IPFS利用有哪些 網頁設計
5. IPSE
IPSE是一款基於IPFS收集的搜刮引擎,致力於打造下一代互聯網的流量進口。在IPSE上可以搜索IPFS網絡的文件,由於採用哈希標註技術,可讓內容的哈希地址轉化為文字題目,快速訪問。另外IPSE照舊利用區塊鏈技術的搜刮引擎,搜索將謝絕廣告跟踪,同時用戶還能取得通證激勵。

IPFS利用有哪些 網頁設計
IPFS利用有哪些 網頁設計
IPSE 官網地址:IPFS利用有哪些 網頁設計https://www.ipse.io/


IPFS利用有哪些 網頁設計
6、Poseidon
一個基於IPFS收集的中心化的分佈式搜刮引擎,可讓用戶快速檢索IPFS收集上的文件,尋覓到所需要的數據,同時用戶介入挖礦還能取得通證激勵。被譽為區塊鏈版Google。

IPFS利用有哪些 網頁設計


2、內容平台
IPFS利用有哪些 網頁設計
1、Netflix
Netflix成立於1997年,首要供給超大數目的DVD並免費遞送,除此之外它的用戶也能夠通過小我電腦、電視、iPad、iPhone等聯網收看其片子、電視節目。近年來風行全球的政治題材電視劇《紙牌屋》就是由奈飛出品。2019年10月,Netflix位列2019福布斯全球數字經濟100強榜第46名。
近日,IPFS宣布與全球最大的流媒體平台Netflix殺青合作。作為一家地位和實力非統一般的企業為什麼選擇和IPFS進行合作呢?
在IPFS Camp 2019之後,Netflix便和IPFS開始了手藝上的合作,將IPFS系統中的對等辦事等技術整合到奈飛的工具中,使用IPFS的手藝加快雲的構建、設計和測試。
Netflix想要解決的容器分發挑戰:若何在大範圍,多區域情況中有用地提取容器圖像。圖象層每每位於不同的區域,操縱IPFS作為點對點CDN,可使Netflix根蒂根基架構內的節點進行協作並將配合的種子播種到相鄰節點,從而有助於更快地分發容器。
Netflix官網地址:https://www.netflix.com/
IPFS利用有哪些 網頁設計
IPFS利用有哪些 網頁設計
2、D.Tube
IPFS最拉風的利用之一“D.Tube” ,對標YouTube,內容太殘暴了。
D.Tube 是第一個加密散佈式視頻平台,創立在STEEM 區塊鍊和IPFS 點對點收集之上,未來會支持FIlecoin收集,它旨在成為YouTube 的替換品,許可用戶在IPFS/FIlecoin 根蒂根基上旁觀或上傳視頻,並在弗成變的STEEM 區塊鏈長進行分享或評論,同時賺取加密通證!Look,即削減了存儲本錢又能賺token ,多麼興奮!
D.Tube官網地址:https://d.tube/

IPFS利用有哪些 網頁設計

IPFS利用有哪些 網頁設計
3、Ujomusic
對標蝦米音樂和咪咕音樂的Ujomusic,是一個IPFS上的音樂家的區塊鏈市場。
2015年,Ujo幫忙音樂家Imogen Heap用區塊鏈刊行了作品“Tiny Human”。粉絲可以采辦許可權,下載、試聽,也能夠用於混音等用處;並且粉絲付出的錢會主動分配給Heap和該作品的合作方。該始創企業還和良多品牌合作,為了“在開源區塊鏈系統中將這些目錄從新數字化”,同時激勵開辟者在平台上開發應用。
Ujomusic官網地址:https://ujomusic.com/


IPFS利用有哪些 網頁設計
IPFS利用有哪些 網頁設計
IPFS利用有哪些 網頁設計
4、Viewly
一個沒有煩人告白、尊敬用戶隱私的平台。在那裡,社區蓬勃成長,粉絲和創作者之間的互動遭到高度鼓勵。具有小型、中型或大型觀眾的創作者可以通過現代錢銀化來保持本身的生活:將無磨擦的微支付、粉絲資助、資助支持和貿易相連系。經由過程跳過中間商、援助創作者和直接支撐他們的社區,企業可以提高廣告效力和下降本錢。Viewly是一個渙散的視頻平台,由區塊鍊和對等視頻同享手藝支持。
Viewly 官網地址:www.viewly.com/

IPFS利用有哪些 網頁設計


5、Dlive
DLive 建立了一個更平正的視頻平台社區。DLive 平台不收取任何佣金,用戶可以通過平台貨幣直接打賞內容創作者。另外,視頻社區的其他進獻者也會遭到相應的嘉獎——比如給視頻點贊,參與評論辯論等,也都會博得Token。這種去中心化的評價體係不但最大化保障了創作者的好處,也能使觀眾直接介入視頻內容的打分,讓好內容更輕易被各人看到。
在這種自治自主烏托邦式的社區構思下,像LegendofTotalWar 和PewDiePie 這樣的硬核頭部主播紛纭插足。今朝,DLive 上的主播數目已到達了3.5 萬。

IPFS利用有哪些 網頁設計

6、Primas
Primas是一個去中心化項目,致力於用區塊鏈技術解決互聯網經濟帶來的一系列問題,諸如假新聞、剽竊、洗稿、題目黨、低質量內容等。Primas獨創的分佈式可托內容協議(DTCP),將把可托、高質量的信息帶回互聯網,重塑互聯網內容價值生態。我們相信,傳佈由人類智慧、感情創造的高質量信息,將促進人類社會的成長。15.jpg

IPFS利用有哪些 網頁設計

文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()

下載檔案安裝
1. 先到NVIDIA下載驅動程式NVIDIA-Linux-x86_64-470.239.06.run
CentOS 8 下安裝NVIDIA RTX 3070 驅動 

CentOS 8 下安裝NVIDIA RTX 3070 驅動

文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()

網頁設計

讓網頁表格能主動排序 TableSorter

1、TableSorter 介紹
讓網頁表格能主動排序 TableSorter
在所有 jQuery 表格排序外掛裡面,TableSorter 算是利用率最高的,而且擴充功能相當多(但紛歧定用獲得),是以本篇保舉這個對象。

1. 官網說明

https://mottie.github.io/tablesorter/docs/

下載檔案後找到這幾個檔案

 

文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()

jQuery 輪播式告白插件 flexslider 使用指南

展示網站
jQuery 輪播式告白插件 flexslider 使用指南

發現了個不錯的jQuery幻燈片插件flexslider,有接近3000 Star,應當說是很靠譜的,下面是簡單利用教程。網頁設計

引入代碼

所有代碼都可以在flexlslider的Github上獲得。

引入css 文件和js 文件和jQuery 核心代碼:

文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()

申明:在Linux下把excel數據導入到mysql數據庫中,這其實是很搞笑的一個活動!幾近很少有程序員研究過這個問題吧?如此變態的問題,估量我是第一個研究的!呵呵,完滿是自找苦吃~~,但是今天完了這項太有挑戰性的工作!
先清算一下思緒先,~~
首先:需要把文件上傳到服務器上
然後:讀取excel數據列顯示出來
然後:讓用戶選擇字段的對應關係
然後:提交數據,讀取字段的對應關係
最後:批量導入數據,刪除臨時文件
一共是以上五步調!我們一步步剖析~~~
第一步:下載附件中的phpexcelparser4.rar ,這個文件是上傳excel盜服務器上並以web情勢展現出來的!這個一般沒有問題的!問題是法式的做法是把表存為暫且表而沒有真正留存下來,所以起首要更改法式代碼為

 

  1.  
  2. //uc轉換成html
  3. function uc2html($str) {
  4.    $ret = '';
  5.    for( $i=0; $i<strlen($str)/2; $i++ ) {
  6.        $charcode = ord($str[$i*2])+256*ord($str[$i*2+1]);
  7.        // $ret .= '&#'.$charcode;
  8.        if($charcode<127)
  9.          $ret .=chr($charcode);
  10.        else
  11.            $ret .= iconv("utf-8","utf-8",u2utf8($charcode));
  12.    }
  13.        return $ret;
  14. }
  15. //html轉成utf8
  16. function u2utf8($c) {
  17. $str="";
  18. if ($c < 0x80) {
  19.   $str.=$c;
  20. } else if ($c < 0x800) {
  21.   $str.=chr(0xC0 | $c>>6);
  22.   $str.=chr(0x80 | $c & 0x3F);
  23. } else if ($c < 0x10000) {
  24.   $str.=chr(0xE0 | $c>>12);
  25.   $str.=chr(0x80 | $c>>6 & 0x3F);
  26.   $str.=chr(0x80 | $c & 0x3F);
  27. } else if ($c < 0x200000) {
  28.   $str.=chr(0xF0 | $c>>18);
  29.   $str.=chr(0x80 | $c>>12 & 0x3F);
  30.   $str.=chr(0x80 | $c>>6 & 0x3F);
  31.   $str.=chr(0x80 | $c & 0x3F);
  32. }
  33. return $str;
  34. }
  35.  
  36. if (trim($_POST["cmd"])=="upload")
  37. {
  38. $err_corr = "Unsupported format or file corrupted";
  39. $excel_file_size;
  40. $excel_file = $_FILES['excel_file'];
  41. $uploadservername=$UploadAbsPath."tmpexcel/".$_FILES['excel_file']['name'];
  42. echo($uploadservername);
  43.      if (!is_writeable($UploadAbsPath."tmpexcel/"))
  44.      {
  45.      echo "目次弗成寫!"; exit;
  46.      }
  47.      else
  48.      {
  49.      echo "目次可寫!";
  50.      }
  51. if (move_uploaded_file($_FILES['excel_file']['tmp_name'], $uploadservername))
  52. {
  53.     echo("上傳成功");
  54. }
  55. else
  56. {
  57.     echo("上傳失敗");
  58. }
  59. $excel_file=$uploadservername;
  60. //if( $excel_file )
  61. //    $excel_file = $_FILES['excel_file']['tmp_name'];
  62.  
  63.  
  64. if( $excel_file == '' ) fatal("No file uploaded");
  65.  
  66.  
  67. $exc = new ExcelFileParser("debug.log", ABC_NO_LOG);//ABC_NO_LOG ABC_VAR_DUMP);
  68.     //echo($excel_file."|");
  69.    
  70. $style = $_POST['style'];
  71. if( $style == 'old' )
  72. {
  73.     $fh = @fopen ($excel_file,'rb');
  74.     if( !$fh ) fatal("No file uploaded");
  75.     if( filesize($excel_file)==0 ) fatal("No file uploaded");
  76.     $fc = fread( $fh, filesize($excel_file) );
  77.     @fclose($fh);
  78.     if( strlen($fc) < filesize($excel_file) )
  79.     fatal("Cannot read file");
  80.    
  81.     $time_start = getmicrotime();
  82.     $res = $exc->ParseFromString($fc);
  83.     $time_end = getmicrotime();
  84. }
  85. elseif( $style == 'segment' )
  86. {
  87.     $time_start = getmicrotime();
  88.     $res = $exc->ParseFromFile($excel_file);
  89.     $time_end = getmicrotime();
  90. }
  91.  
  92.  
  93. switch ($res) {
  94.     case 0: break;
  95.     case 1: fatal("Can't open file");
  96.     case 2: fatal("File too small to be an Excel file");
  97.     case 3: fatal("Error reading file header");
  98.     case 4: fatal("Error reading file");
  99.     case 5: fatal("This is not an Excel file or file stored in Excel < 5.0");
  100.     case 6: fatal("File corrupted");
  101.     case 7: fatal("No Excel data found in file");
  102.     case 8: fatal("Unsupported file version");
  103.  
  104.  
  105.     default:
  106.     fatal("Unknown error");網頁設計
  107. }
  108.  
  109.  
  110. /*
  111. print '<pre>';
  112. print_r( $exc );
  113. print '</pre>';
  114. exit;
  115. */
  116.  
  117.  
  118. show_time();
  119.  
  120.  
  121. echo <<<LEG
  122. <b>Legend:</b><br><br>
  123. <form name='doform' action='' method='post'>
  124. <input type='hidden' name='action' value='do'>
  125. <input type='hidden' name='excel_file' value=$excel_file>
  126. <input type='hidden' name='style' value=$style>
  127. <table border=1 cellspacing=0 cellpadding=0>
  128. <tr><td>Data type</td><td>Description</td></tr>
  129. <tr><td class=empty>&nbsp;</td><td class=index>An empty cell</td></tr>
  130. <tr><td class=dt_string>ABCabc</td><td class=index>String</td></tr>
  131. <tr><td class=dt_int>12345</td><td class=index>Integer</td></tr>
  132. <tr><td class=dt_float>123.45</td><td class=index>Float</td></tr>
  133. <tr><td class=dt_date>123.45</td><td class=index>Date</td></tr>
  134. <table>
  135. <br><br>
  136.  
  137.  
  138. LEG;
  139. /*
  140. print "<pre>";
  141. print_r ($exc->worksheet);
  142. print_r($exc->sst);
  143. print "</pre>";
  144. */
  145.     for( $ws_num=0; $ws_num<count($exc->worksheet['name']); $ws_num++ )
  146.     {
  147.     print "<b>Worksheet: \"";
  148.     if( $exc->worksheet['unicode'][$ws_num] ) {
  149.     print uc2html($exc->worksheet['name'][$ws_num]);
  150.     } else
  151.     print $exc->worksheet['name'][$ws_num];
  152.  
  153.  
  154.     print "\"</b>";
  155.     $ws = $exc->worksheet['data'][$ws_num];
  156.  
  157.  
  158.     if( is_array($ws) &&
  159.          isset($ws['max_row']) && isset($ws['max_col']) ) {
  160.      echo "\n<br><br><table border=1 cellspacing=0 cellpadding=2>\n";
  161.  
  162.  
  163.      print "<tr><td>&nbsp;</td>\n";
  164.      for( $j=0; $j<=$ws['max_col']; $j++ ) {
  165.     print "<td class=index>&nbsp;";
  166.     if( $j>25 ) print chr((int)($j/26)+64);
  167.     //這裡要顯示一個下拉列表來顯示數據
  168.     //注意是輪回數據<br />
  169.     echo("\n<select name='".$j."'>");
  170.     echo("\n<option value='0'>不選擇</option>");
  171.    echo("\n<option value='costomernum'>客戶編號</option>");
  172.    echo("\n<option value='name'>客戶姓名</option>");
  173.    echo("\n<option value='phone1'>德律風1</option>");
  174.    echo("\n<option value='phone2'>德律風2</option>");
  175.    echo("\n<option value='address1'>地址1</option>");
  176.    echo("\n<option value='address2'>地址2</option>");  
  177.    echo("\n<option value='company'>公司</option>");
  178.    echo("\n<option value='levelc'>職稱</option>");   
  179.    echo("\n<option value='ps'>備註</option>");
  180.    
  181.     echo("</select>");
  182.     print "</td>";
  183.      }
  184.  
  185.  
  186.      print "<tr><td>&nbsp;</td>\n";
  187.      for( $j=0; $j<=$ws['max_col']; $j++ ) {
  188.     print "<td class=index>&nbsp;";
  189.     if( $j>25 ) print chr((int)($j/26)+64);
  190.     print chr(($j % 26) + 65)."&nbsp;列名</td>";
  191.      }
  192.  
  193.  
  194.  
  195. //表頭輸出終了
  196.     if ($ws['max_row']>9)
  197.     {
  198.     $shownum=9;
  199.     }
  200.     else
  201.     {
  202.     $shownum=$ws['max_row'];//只輸出前10條數據
  203.     }
  204.      for( $i=0; $i<=$shownum; $i++ ) {
  205.      print "<tr><td class=index>".($i+1)."</td>\n";
  206.      if(isset($ws['cell'][$i]) && is_array($ws['cell'][$i]) ) {
  207.          for( $j=0; $j<=$ws['max_col']; $j++ ) {
  208.  
  209.  
  210.     if( ( is_array($ws['cell'][$i]) ) &&
  211.          ( isset($ws['cell'][$i][$j]) )
  212.          ){
  213.  
  214.  
  215.      // print cell data
  216.      print "<td class=\"";
  217.      $data = $ws['cell'][$i][$j];
  218.  
  219.  
  220.      $font = $ws['cell'][$i][$j]['font'];
  221.      $style = " style ='".ExcelFont::ExcelToCSS($exc->fonts[$font])."'";
  222.  
  223.  
  224.          switch ($data['type']) {
  225.     // string
  226.     case 0:
  227.         print "dt_string\"".$style.">";
  228.         $ind = $data['data'];
  229.         if( $exc->sst['unicode'][$ind] ) {
  230.         $s = uc2html($exc->sst['data'][$ind]);
  231.         } else
  232.         $s = $exc->sst['data'][$ind];
  233.         if( strlen(trim($s))==0 )
  234.         print "&nbsp;";
  235.         else
  236.         print $s;
  237.         break;
  238.     // integer number
  239.     case 1:
  240.         print "dt_int\"".$style.">&nbsp;";
  241.         print $data['data'];
  242.         break;
  243.     // float number
  244.     case 2:
  245.         print "dt_float\"".$style.">&nbsp;";
  246.         echo $data['data'];
  247.         break;
  248.     // date
  249.     case 3:
  250.         print "dt_date\"".$style.">&nbsp;";
  251.  
  252.  
  253.         $ret = $data[data];//str_replace ( " 00:00:00", "", gmdate("d-m-Y H:i:s",$exc->xls2tstamp($data[data])) );
  254.         echo ( $ret );
  255.         break;
  256.     default:
  257.         print "dt_unknown\"".$style."> &nbsp;";
  258.         break;
  259.          }
  260.      print "</td>\n";
  261.     } else {
  262.         print "<td class=empty>&nbsp;</td>\n";
  263.     }
  264.          }
  265.      } else {
  266.     // print an empty row
  267.     for( $j=0; $j<=$ws['max_col']; $j++ )
  268.         print "<td class=empty>&nbsp;</td>";
  269.     print "\n";
  270.      }
  271.      print "</tr>\n";
  272.      }
  273.  
  274.  
  275.      echo "</table><br>\n";
  276.     } else {
  277.     // emtpty worksheet
  278.     print "<b> - empty</b><br>\n";
  279.     }
  280.     print "<br>";
  281.  
  282.  
  283.     }
  284.     echo("<input type='submit' name='Submit' value='轉換' />");
  285.     echo("</form>");
  286. /*    print "Formats<br>";
  287.     foreach($exc->format as $value) {
  288.     printf("( %x )",array_search($value,$exc->format));
  289.     print htmlentities($value,ENT_QUOTES);
  290.     print "<br>";
  291.     }
  292.  
  293.  
  294.      print "XFs<br>";
  295.     for( $i=0;$i<count($exc->xf['format']);$i++) {
  296.     printf ("(%x)",$i);
  297.     printf (" format (%x) font (%x)",$exc->xf['format'][$i],$exc->xf['font'][$i]);
  298.  
  299.  
  300.     print "<br>";
  301.     }
  302. */
  303. }
文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()

完成圖
jquery.pagination.js JS分頁插件:簡單
文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()

網頁設計

在架設了DNS後


該若何確定該網域是不是被GOOGLE接受呢?


到該網址
https://www.whatsmydns.net/

輸入網域就能夠知道具體內容了

網頁設計 DNS 搜檢器

文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()

典範圖片
用jquery做相册 網頁設計

用jquery做相册 網頁設計



CSS
  1. body{ text-align:center;}
  2. *{ margin:0; padding:0;}
  3. img{ border:none;}
  4. #container{ width:900px; height:900px; background:#000000; border:1px solid #006633; margin:auto; padding:0;}
  5. #loader{ width:480px; margin:auto; height:500px; background:#FFFFFF; float:left; margin-right:5px;}
  6. #imageOptions{ float:left;}
  7. #imageOptions li{ list-style:none; margin:10px;}
  8. .loading{ background:url(images/spinner.gif) center center no-repeat;}
  9. h3{ line-height:500px;}
文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()

不管是利用無名、Pixnet、Xuite或Wordpress...等平台,在辦理後台新增文章,城市有一個很像Word的編纂器,透過此編輯器便可輕鬆撰寫文章,而且還可以加粗體變換字體顏色超貫穿連接....與圖片上傳等功能,即便完全不懂任何的HTML語法,也可編輯出一個漂亮的文章頁面出來,而且邊製作還會邊顯示效果,這是個相當便利的功能,而這麼棒的功能難不成要自已寫,寫完不只天黑可能都爆肝了,所以要多加善用資本,今天梅干就來分享一個好用的即見即所得HTML文章編輯器CKeditor,與CKfinder上傳元件讓編纂器不只單單可編纂,同時還可上傳檔案乃至直瀏覽伺器服中的檔案,且完全不消寫任何的程式碼,只要設定一下,立刻就打造自已專屬的文章編纂器囉!
 

CKeditor(編纂器)/CKfinder(上傳元件)下載:
編纂器:CKeditor
支援語法:PHP、ASP、ASP.NET、CF
元件版本:4.4.5
官方展現:http://ckeditor.com/demo
官方下載:http://ckeditor.com/download

上傳元件:CKfinder
支援語法:PHP、ASP、ASP.NET、CF
元件版本:2.4
官方展現:http://ckfinder.com/demo
官方下載:http://ckfinder.com/download
文章標籤

thatcheulruaj 發表在 痞客邦 留言(0) 人氣()