如何用bootstrap製作RWD網站 網頁設計
起首先到BootStrap網站下載開源碼
文章標籤

basilkft16d7 發表在 痞客邦 留言(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. }
文章標籤

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

近從新調試一段pytorch 程式碼,之前的伺服器上完全沒問題,但換了一台機械,從頭安裝了新版本的cuda, anaconda ,pytorch 等,之前的程式碼呈現各類版本不適合的問題。
問題:
現在說說這個問題。運行pytorch 時泛起的情形以下:

  1. RuntimeError:
  2.         An attempt has been made to start a new process before the
  3.         current process has finished its bootstrapping phase.
  4.  
  5.         This probably means that you are not using fork to start your
  6.         child processes and you have forgotten to use the proper idiom
  7.         in the main module:
  8.  
  9.             if __name__ == '__main__':
  10.                 freeze_support()
  11.                 ...
  12.  
  13.         The "freeze_support()" line can be omitted if the program
  14.         is not going to be frozen to produce an executable.
文章標籤

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

OpenCart 4.X 新增分類呈現毛病 (靜態網址下)

OpenCart 4.X 新增分類出現毛病

文章標籤

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

ubuntu firefox播放久了,突然不克不及用了
顯示
ubuntu firefox youtube cannot play

ubuntu firefox youtube cannot
ubuntu firefox youtube cannot
安裝插件

文章標籤

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

AnyDesk 是 Linux 用戶可用的最好專有遠端桌面運用程式之一。該軟體程式供給對運行 Windows、macOS、Linux 和 FreeBSD 的電腦的流暢、無縫的遠端存取。在本指南中,我們將註釋若何在 CentOS 8 / RHEL 8 Linux 桌面中安裝 AnyDesk。

在 CentOS 8 / RHEL 8 上安裝 AnyDesk 後,您將能夠從 Windows、Mac 和其他基於 Linux 的系統存取 Linux 系統。您將享受其簡單且用戶友愛的設定和經管對象,使您可以或許輕鬆管理遠端系統。網頁設計


在 CentOS 8 / RHEL 8 上安裝 AnyDesk
我們將利用預先打包的 RPM 軟體包從 AnyDesk Yum 貯存庫在 CentOS 8 / RHEL 8 上安裝 Install AnyDesk。您可以手動下載 RPM 軟體包並安裝它,但這意味著必需手動完成更新。

1 – 新增 AnyDesk 貯存庫
使用下面同享的號令將儲存庫新增至您的系統。
CentOS 8:

  1. tee /etc/yum.repos.d/AnyDesk-CentOS.repo <<EOF
  2. [anydesk]
  3. name=AnyDesk CentOS - stable
  4. baseurl=http://rpm.anydesk.com/centos/\$basearch/
  5. gpgcheck=1
  6. repo_gpgcheck=1
  7. gpgkey=https://keys.anydesk.com/repos/RPM-GPG-KEY
  8. EOF
文章標籤

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

網頁設計
php5與php7的辨別是什麼 網頁設計
php5與php7的區別是什麼?下面本篇文章就來給大家對比一下php5與php7,介紹php5與php7之間的區分。有一定的參考價值,有需要的同夥可以參考一下,希望對你有所輔助。
文章標籤

basilkft16d7 發表在 痞客邦 留言(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運用有哪些

文章標籤

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

比來電腦重灌WIN10
arduino從新安裝及設定
發現輸入開辟經管員網址時會泛起錯誤

  1. https://dl.espressif.com/dl/package_esp32_index.json
文章標籤

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

web gzip 測試網站

1、什麼是gzip         

        gzip是一種數據格局,默許且今朝僅使用deflate算法緊縮data部分;

        Gzip是一種風行的文件壓縮算法,目前的利用十分廣泛,特別是在Linux平台。當利用Gzip緊縮到一個純文本文件時,結果是非常明明的,大約可以減少70%以上的文件巨細。這取決於文件​​中的內容。

文章標籤

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