影片



大師經常用google搜索時
經常會看到以下畫面

若何操縱google商家資訊提高暴光率若何操縱google商家資訊提高暴光率
若何操縱google商家資訊提高暴光率若何操縱google商家資訊提高暴光率

是否是很好奇如何可以提高自己的商家暴光


就以要害字 洗水管 , 管乾淨 高週波水管清洗 商家來做申明


尚未申請的請看這篇 如何註冊商家資訊

已申請完成商家資訊請登入商家資訊帳戶->首頁
若何操縱google商家資訊提高暴光率若何操縱google商家資訊提高暴光率

第一次進入是沒稀有據的
點選左側->資訊
進入後編輯-> 商家名稱 - 辦事項目 - 地址(客戶在此區輕易找到你) - 服務局限 - 營業時間(24小時讓用戶不分時段都能看到) - 商家代碼 - 標籤(樞紐字) - 德律風號碼(利便客戶連系到你) - 公司論述 - 揭幕日期
若何操縱google商家資訊提高暴光率若何操縱google商家資訊提高暴光率

編輯好以後需要顛末審核
點選左邊->相片
這時可上傳關於本身商家的相片,如封面、標誌、影片、公司室內環境、公司外觀、工作實況
若何操縱google商家資訊提高暴光率若何操縱google商家資訊提高暴光率

圖片上傳好後
點選左邊->產品->新增產品
若何操縱google商家資訊提高暴光率
若何操縱google商家資訊提高暴光率

填入商品名稱 - 商品圖片 - 種別 - 價錢 - 商品描述 - 貫穿連接按鈕(可不填)
若何操縱google商家資訊提高暴光率
若何操縱google商家資訊提高暴光率
都設定好後,點選左側->網站
啟動網站,讓網站上線
若何操縱google商家資訊提高暴光率


這樣有助於提高商家暴光
暴光提高,當然生意就變多了
註:經常更新內容,更輕易曝光

 

文章標籤

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


讓網頁表格能主動排序 TableSorter

一、TableSorter 介紹
讓網頁表格能主動排序 TableSorter
在所有 jQuery 表格排序外掛裡面,TableSorter 算是使用率最高的,並且擴充功能相當多(但不一定用獲得),因此本篇保舉這個工具。

1. 官網說明

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

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

 

文章標籤

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

本文為大家講授的是PHP錯誤Notice : Use of undefined constant 的完美解決方式,這個php的非致命毛病提示在pph5.3以上的版本中呈現的頻率異常好,主要是因為php.ini中的毛病級別設置裝備擺設的問題,感愛好的同窗參考下.

本文為大家講解的是PHP毛病Notice : Use of undefined constant 的完善解決方法,這個php的非致命毛病提示在php5.3以上的版本中泛起的頻率十分好,首要是因為php.ini中的毛病級別設置裝備擺設的問題.

問題申明:
會快速造成磁碟空間滿載,致使系統沒法正常利用.

  1. cat /var/log/httpd/error_log
文章標籤

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

Yolov8 AttributeError str obje
  1. Model summary (fused): 168 layers, 3011108 parameters, 0 gradients
  2.                  Class     Images  Instances      Box(P          R      mAP50  mAP50-95): 100%|██████████| 1/1 [00:00<00:00, 45.58it/s]
  3.                    all         12         12          0          0          0          0
  4. Traceback (most recent call last):
  5.   File "D:\yolo\testyolo.py", line 13, in <module>
  6.     model.train(data="data.yaml",
  7.   File "D:\ProgramData\Anaconda3\envs\python310\lib\site-packages\ultralytics\engine\model.py", line 334, in train
  8.     self.trainer.train()
  9.   File "D:\ProgramData\Anaconda3\envs\python310\lib\site-packages\ultralytics\engine\trainer.py", line 195, in train
  10.     self._do_train(world_size)
  11.   File "D:\ProgramData\Anaconda3\envs\python310\lib\site-packages\ultralytics\engine\trainer.py", line 418, in _do_train
  12.     self.final_eval()
  13.   File "D:\ProgramData\Anaconda3\envs\python310\lib\site-packages\ultralytics\engine\trainer.py", line 573, in final_eval
  14.     self.metrics = self.validator(model=f)
  15.   File "D:\ProgramData\Anaconda3\envs\python310\lib\site-packages\torch\utils\_contextlib.py", line 115, in decorate_context
  16.     return func(*args, **kwargs)
  17.   File "D:\ProgramData\Anaconda3\envs\python310\lib\site-packages\ultralytics\engine\validator.py", line 190, in __call__
  18.     self.print_results()
  19.   File "D:\ProgramData\Anaconda3\envs\python310\lib\site-packages\ultralytics\models\yolo\detect\val.py", line 165, in print_results
  20.     names=self.names.values(),
  21. AttributeError: 'str' object has no attribute 'values'
  22. Exception in thread Thread-12 (plot_images):
  23. Traceback (most recent call last):
  24.   File "D:\ProgramData\Anaconda3\envs\python310\lib\threading.py", line 1009, in _bootstrap_inner
  25.     self.run()
  26.   File "D:\ProgramData\Anaconda3\envs\python310\lib\threading.py", line 946, in run
  27.     self._target(*self._args, **self._kwargs)
  28.   File "D:\ProgramData\Anaconda3\envs\python310\lib\site-packages\ultralytics\utils\plotting.py", line 442, in plot_images
  29.     c = names.get(c, c) if names else c
  30. AttributeError: 'str' object has no attribute 'get'
  31.  
  32. Process finished with exit code 1
  33.  
複製代碼
文章標籤

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

資料庫常常是有看沒有懂

圖解秒懂SQL語言

SQL利害的圖解

文章標籤

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

影片



TB6612FNG是東芝生產的馬達驅動與節制IC,內部包括兩組H橋式電路,可驅動和節制兩個小型直流馬達,或一個雙極性步進馬達。

ESP32 控制 TB6612FNG 直流馬達驅動∕控制板

文章標籤

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

成績圖:
Yolov8 照片偵測後若何抓物體座標位置

座標:

  1. [[ 16 290]
  2. [412 491]
  3. [740 626]
  4. [283 631]
  5. [146 651]
  6. [ 32 710]]
  7. 5.0
  8. image 1/1 D:\yolo\bus.jpg: 640x480 4 persons, 1 bus, 1 stop sign, 83.9ms
  9. Speed: 3.0ms preprocess, 83.9ms inference, 4.0ms postprocess per image at shape (1, 3, 640, 480)
  10. tensor([[ 22.3412, 228.0822, 802.0841, 754.3939]], device='cuda:0')
  11. 準確率 0.879738450050354
  12. x,y: [[412 491]]
  13. 0.0
  14. tensor([[ 47.5999, 398.8344, 244.2552, 903.1386]], device='cuda:0')
  15. 準確率 0.873720109462738
  16. x,y: [[146 651]]
  17. 0.0
  18. tensor([[670.3670, 376.9174, 810.0000, 875.0829]], device='cuda:0')
  19. 準確率 0.8693700432777405
  20. x,y: [[740 626]]
  21. 0.0
  22. tensor([[220.5713, 405.7240, 344.5589, 857.2506]], device='cuda:0')
  23. 準確率 0.819391667842865
  24. x,y: [[283 631]]
  25. 11.0
  26. tensor([[7.7698e-02, 2.5441e+02, 3.2119e+01, 3.2465e+02]], device='cuda:0')
  27. 準確率 0.44594067335128784
  28. x,y: [[ 16 290]]
  29. 0.0
  30. tensor([[3.2650e-02, 5.4988e+02, 6.4001e+01, 8.6930e+02]], device='cuda:0')
  31. 準確率 0.29976797103881836
  32. x,y: [[ 32 710]]
  33.  
文章標籤

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

ESP32 腳位34 毗鄰到可變電阻腳位 2
ESP32 腳位VIN 毗連到可變電阻腳位 1
ESP32 腳位GND 連接到可變電阻腳位 3
ESP32若何利用可變電阻讀取外部電壓數值
ESP32若何利用可變電阻讀取外部電壓數值

讀取數值為12 bits = 4096
0 - 4095

程式碼:

  1. const int potPin = 34;
  2. int val=0;
  3. void setup() {
  4.   Serial.begin(115200); //連線速度
  5.   delay(1000);
  6. }
  7.  
  8. void loop() {
  9.   // put your main code here, to run repeatedly:
  10.   val = analogRead(potPin); //讀取電壓數值
  11.   Serial.println(val); //印出電壓數值
  12.   delay(500); //延遲0.5秒
  13. }
文章標籤

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

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

從2020年5月最先
Google SEO增添了加強功能
從以下網址可知增加了那些功能
https://developers.google.com/search/docs/advanced/structured-data/search-gallery


SEO寫好今後,到下列網址測試是不是完成
https://search.google.com/test/rich-results?utm_campaign=devsite&utm_medium=jsonld&utm_source=article


測試網址
http://www.netyea.com/
SEO 網頁優化 如何用 Google Search ConSEO 網頁優化 如何用 Google Search Con

點選預覽就可以看到下面圖片
SEO 網頁優化 如何用 Google Search Con

SEO 網頁優化 如何用 Google Search Con


網頁設計,網站架設 ,網路行銷,網頁優化,SEO - NetYea 網頁設計

文章標籤

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