水管清洗
sqlite3的名擴展在PHP 5.3.0+以上都會默許啟用。在可以compile-時利用--without-sqlite3來禁用它。
視窗柯林斯用戶經由過程啟用php_sqlite3.dll才能利用此擴大。php_sqlite3.dll默許所有遊戲在PHP 5.3.0以後的PHP刊行版中。
有關具體的安裝申明,請查看PHP教程及其官方網站。
毗連到的SQLite數據庫以下PHP代碼顯示若何毗鄰到SQLite數據庫。如果數據庫不存在,那麼它將創建一個新的數據庫,最後將返回一個數據庫對象。
- <?php
- class SQLiteDB extends SQLite3
- {
- function __construct()
- {
- $this->open('phpdb.db');
- }
- }
- $db = new SQLiteDB();
- if(!$db){
- echo $db->lastErrorMsg();
- } else {
- echo "Yes, Opened database successfully\n";
- }
- ?>
pilano3gswy14 發表在 痞客邦 留言(0) 人氣()
水管清洗因搜尋引擎改版,網站不得不改https
當網站安裝了SSL後,如何把網址主動轉成https?
在網頁目錄-public_html,有一個檔案叫 .htaccess,編纂檔案內容,然後將以下轉向的劃定規矩寫在裡面:
寫法1:
- RewriteCond %{HTTPS} off
- RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
pilano3gswy14 發表在 痞客邦 留言(0) 人氣()
水管清洗
1、TableSorter 介紹
在所有 jQuery 表格排序外掛裡面,TableSorter 算是利用率最高的,而且擴充功能相當多(但紛歧定用得到),是以本篇保舉這個東西。
1. 官網申明
https://mottie.github.io/tablesorter/docs/
下載檔案後找到這幾個檔案
pilano3gswy14 發表在 痞客邦 留言(0) 人氣()
水管清洗用ESP32 PWM實現LED慢慢亮起。
程式的部分首要分成三個:1.設定頻道LEDchannel、2.附加到PIN腳、3.決意輸出大小。水管清洗
1.設定頻道LEDchannel屬性
ledcSetup(LEDChannel, freq, resolution);
//LEDChannel設定為0,分歧輸出要設定到不同頻道,例如RGB LED就要開三個頻道離別經管R、G、B
//freq輸出頻率,建議值5000 Hz
//resolution代表輸出解析度,例如8代表0-255,10代表0-1023
2.附加到PIN腳
ledcAttachPin(ledPin, LEDChannel);
//ledPin代表腳位,看你把裝備接在哪個腳位上面
//LEDchannel代表步調1所宣佈的LEDchannel,也就是說把設定好的LEDchannel屬性附加到某個腳位上
3.決意輸出巨細。
ledcWrite(LEDChannel, dutyCycle);
//將LEDchannel輸出dutyCycle的值。
規範程式將使接在Pin16的LED逐步亮起並熄滅,典範榜樣複製於水管清洗 https://randomnerdtutorials.com/esp32-pwm-arduino-ide/
- // the number of the LED pin
- const int ledPin = 16; // 16 corresponds to GPIO16
-
- // setting PWM properties
- const int freq = 5000;
- const int ledChannel = 0;
- const int resolution = 8;
-
- void setup(){
- // configure LED PWM functionalitites
- ledcSetup(ledChannel, freq, resolution);
-
- // attach the channel to the GPIO to be controlled
- ledcAttachPin(ledPin, ledChannel);
- }
-
- void loop(){
- // increase the LED brightness
- for(int dutyCycle = 0; dutyCycle <= 255; dutyCycle++){
- // changing the LED brightness with PWM
- ledcWrite(ledChannel, dutyCycle);
- delay(15);
- }
-
- // decrease the LED brightness
- for(int dutyCycle = 255; dutyCycle >= 0; dutyCycle--){
- // changing the LED brightness with PWM
- ledcWrite(ledChannel, dutyCycle);
- delay(15);
- }
- }
pilano3gswy14 發表在 痞客邦 留言(0) 人氣()
水管清洗
良多網站成立初期,行使YAHOO或GOOGLE搜索引擎搜索本身網站,卻發現在YAHOO或GOOGLE搜尋引擎輸入網站名找不到自己網站,花了大把銀子請網頁設計公司作網站,卻沒法達到暴光的結果,下面介紹若何行使免費網站 SiteTag:http://sitetag.us/ 來讓自己網站晉升排名及暴光。
pilano3gswy14 發表在 痞客邦 留言(0) 人氣()
pilano3gswy14 發表在 痞客邦 留言(0) 人氣()
前台看到 相幹商品
pilano3gswy14 發表在 痞客邦 留言(0) 人氣()
申明:在Linux下把excel數據導入到mysql數據庫中,這實在是很搞笑的一個運動!幾近很少有程序員研究過這個問題吧?如斯失常的問題,估量我是第一個研究的!呵呵,完滿是自找苦吃~~,但是今天完了這項太有挑戰性的工作!
先清理一下思緒先,~~
起首:需要把文件上傳到辦事器上
然後:讀取excel數據列顯示出來
然後:讓用戶選擇字段的對應關係
然後:提交數據,讀取字段的對應關係
最後:批量導入數據,刪除且則文件
一共是以上五步驟!我們一步步分析~~~
第一步:下載附件中的phpexcelparser4.rar ,這個文件是上傳excel盜辦事器上並以web情勢展現出來的!這個一般沒有問題的!問題是程序的做法是把表存為臨時表而沒有真正保留下來,所以起首要更改法式代碼為
-
- //uc轉換成html
- function uc2html($str) {
- $ret = '';
- for( $i=0; $i<strlen($str)/2; $i++ ) {
- $charcode = ord($str[$i*2])+256*ord($str[$i*2+1]);
- // $ret .= '&#'.$charcode;
- if($charcode<127)
- $ret .=chr($charcode);
- else
- $ret .= iconv("utf-8","utf-8",u2utf8($charcode));
- }
- return $ret;
- }
- //html轉成utf8
- function u2utf8($c) {
- $str="";
- if ($c < 0x80) {
- $str.=$c;
- } else if ($c < 0x800) {
- $str.=chr(0xC0 | $c>>6);
- $str.=chr(0x80 | $c & 0x3F);
- } else if ($c < 0x10000) {
- $str.=chr(0xE0 | $c>>12);
- $str.=chr(0x80 | $c>>6 & 0x3F);
- $str.=chr(0x80 | $c & 0x3F);
- } else if ($c < 0x200000) {
- $str.=chr(0xF0 | $c>>18);
- $str.=chr(0x80 | $c>>12 & 0x3F);
- $str.=chr(0x80 | $c>>6 & 0x3F);
- $str.=chr(0x80 | $c & 0x3F);
- }
- return $str;
- }
-
- if (trim($_POST["cmd"])=="upload")
- {
- $err_corr = "Unsupported format or file corrupted";
- $excel_file_size;
- $excel_file = $_FILES['excel_file'];
- $uploadservername=$UploadAbsPath."tmpexcel/".$_FILES['excel_file']['name'];
- echo($uploadservername);
- if (!is_writeable($UploadAbsPath."tmpexcel/"))水管清洗
- {
- echo "目次弗成寫!"; exit;
- }
- else
- {
- echo "目錄可寫!";
- }
- if (move_uploaded_file($_FILES['excel_file']['tmp_name'], $uploadservername))
- {
- echo("上傳成功");
- }
- else
- {
- echo("上傳失敗");
- }
- $excel_file=$uploadservername;
- //if( $excel_file )
- // $excel_file = $_FILES['excel_file']['tmp_name'];
-
-
- if( $excel_file == '' ) fatal("No file uploaded");
-
-
- $exc = new ExcelFileParser("debug.log", ABC_NO_LOG);//ABC_NO_LOG ABC_VAR_DUMP);
- //echo($excel_file."|");
-
- $style = $_POST['style'];
- if( $style == 'old' )
- {
- $fh = @fopen ($excel_file,'rb');
- if( !$fh ) fatal("No file uploaded");
- if( filesize($excel_file)==0 ) fatal("No file uploaded");
- $fc = fread( $fh, filesize($excel_file) );
- @fclose($fh);
- if( strlen($fc) < filesize($excel_file) )
- fatal("Cannot read file");
-
- $time_start = getmicrotime();
- $res = $exc->ParseFromString($fc);
- $time_end = getmicrotime();
- }
- elseif( $style == 'segment' )
- {
- $time_start = getmicrotime();
- $res = $exc->ParseFromFile($excel_file);
- $time_end = getmicrotime();
- }
-
-
- switch ($res) {
- case 0: break;
- case 1: fatal("Can't open file");
- case 2: fatal("File too small to be an Excel file");
- case 3: fatal("Error reading file header");
- case 4: fatal("Error reading file");
- case 5: fatal("This is not an Excel file or file stored in Excel < 5.0");
- case 6: fatal("File corrupted");
- case 7: fatal("No Excel data found in file");
- case 8: fatal("Unsupported file version");
-
-
- default:
- fatal("Unknown error");
- }
-
-
- /*
- print '<pre>';
- print_r( $exc );
- print '</pre>';
- exit;
- */
-
-
- show_time();
-
-
- echo <<<LEG
- <b>Legend:</b><br><br>
- <form name='doform' action='' method='post'>
- <input type='hidden' name='action' value='do'>
- <input type='hidden' name='excel_file' value=$excel_file>
- <input type='hidden' name='style' value=$style>
- <table border=1 cellspacing=0 cellpadding=0>
- <tr><td>Data type</td><td>Description</td></tr>
- <tr><td class=empty> </td><td class=index>An empty cell</td></tr>
- <tr><td class=dt_string>ABCabc</td><td class=index>String</td></tr>
- <tr><td class=dt_int>12345</td><td class=index>Integer</td></tr>
- <tr><td class=dt_float>123.45</td><td class=index>Float</td></tr>
- <tr><td class=dt_date>123.45</td><td class=index>Date</td></tr>
- <table>
- <br><br>
-
-
- LEG;
- /*
- print "<pre>";
- print_r ($exc->worksheet);
- print_r($exc->sst);
- print "</pre>";
- */
- for( $ws_num=0; $ws_num<count($exc->worksheet['name']); $ws_num++ )
- {
- print "<b>Worksheet: \"";
- if( $exc->worksheet['unicode'][$ws_num] ) {
- print uc2html($exc->worksheet['name'][$ws_num]);
- } else
- print $exc->worksheet['name'][$ws_num];
-
-
- print "\"</b>";
- $ws = $exc->worksheet['data'][$ws_num];
-
-
- if( is_array($ws) &&
- isset($ws['max_row']) && isset($ws['max_col']) ) {
- echo "\n<br><br><table border=1 cellspacing=0 cellpadding=2>\n";
-
-
- print "<tr><td> </td>\n";
- for( $j=0; $j<=$ws['max_col']; $j++ ) {
- print "<td class=index> ";
- if( $j>25 ) print chr((int)($j/26)+64);
- //這裡要顯示一個下拉列表來顯示數據
- //注意是輪回數據<br />
- echo("\n<select name='".$j."'>");
- echo("\n<option value='0'>不選擇</option>");
- echo("\n<option value='costomernum'>客戶編號</option>");
- echo("\n<option value='name'>客戶姓名</option>");
- echo("\n<option value='phone1'>德律風1</option>");
- echo("\n<option value='phone2'>德律風2</option>");
- echo("\n<option value='address1'>地址1</option>");
- echo("\n<option value='address2'>地址2</option>");
- echo("\n<option value='company'>公司</option>");
- echo("\n<option value='levelc'>職稱</option>");
- echo("\n<option value='ps'>備註</option>");
-
- echo("</select>");
- print "</td>";
- }
-
-
- print "<tr><td> </td>\n";
- for( $j=0; $j<=$ws['max_col']; $j++ ) {
- print "<td class=index> ";
- if( $j>25 ) print chr((int)($j/26)+64);
- print chr(($j % 26) + 65)." 列名</td>";
- }
-
-
-
- //表頭輸出終了
- if ($ws['max_row']>9)
- {
- $shownum=9;
- }
- else
- {
- $shownum=$ws['max_row'];//只輸出前10條數據
- }
- for( $i=0; $i<=$shownum; $i++ ) {
- print "<tr><td class=index>".($i+1)."</td>\n";
- if(isset($ws['cell'][$i]) && is_array($ws['cell'][$i]) ) {
- for( $j=0; $j<=$ws['max_col']; $j++ ) {
-
-
- if( ( is_array($ws['cell'][$i]) ) &&
- ( isset($ws['cell'][$i][$j]) )
- ){水管清洗
-
-
- // print cell data
- print "<td class=\"";
- $data = $ws['cell'][$i][$j];
-
-
- $font = $ws['cell'][$i][$j]['font'];
- $style = " style ='".ExcelFont::ExcelToCSS($exc->fonts[$font])."'";
-
-
- switch ($data['type']) {
- // string
- case 0:
- print "dt_string\"".$style.">";
- $ind = $data['data'];
- if( $exc->sst['unicode'][$ind] ) {
- $s = uc2html($exc->sst['data'][$ind]);
- } else
- $s = $exc->sst['data'][$ind];
- if( strlen(trim($s))==0 )
- print " ";
- else
- print $s;
- break;
- // integer number
- case 1:
- print "dt_int\"".$style."> ";
- print $data['data'];
- break;
- // float number
- case 2:
- print "dt_float\"".$style."> ";
- echo $data['data'];
- break;
- // date
- case 3:
- print "dt_date\"".$style."> ";
-
-
- $ret = $data[data];//str_replace ( " 00:00:00", "", gmdate("d-m-Y H:i:s",$exc->xls2tstamp($data[data])) );
- echo ( $ret );
- break;
- default:
- print "dt_unknown\"".$style."> ";
- break;
- }
- print "</td>\n";
- } else {
- print "<td class=empty> </td>\n";
- }
- }
- } else {
- // print an empty row
- for( $j=0; $j<=$ws['max_col']; $j++ )
- print "<td class=empty> </td>";
- print "\n";
- }
- print "</tr>\n";
- }
-
-
- echo "</table><br>\n";
- } else {
- // emtpty worksheet
- print "<b> - empty</b><br>\n";水管清洗
- }
- print "<br>";
-
-
- }
- echo("<input type='submit' name='Submit' value='轉換' />");
- echo("</form>");
- /* print "Formats<br>";
- foreach($exc->format as $value) {
- printf("( %x )",array_search($value,$exc->format));
- print htmlentities($value,ENT_QUOTES);
- print "<br>";
- }
-
-
- print "XFs<br>";
- for( $i=0;$i<count($exc->xf['format']);$i++) {
- printf ("(%x)",$i);
- printf (" format (%x) font (%x)",$exc->xf['format'][$i],$exc->xf['font'][$i]);
-
-
- print "<br>";
- }
- */
- }
pilano3gswy14 發表在 痞客邦 留言(0) 人氣()
pilano3gswy14 發表在 痞客邦 留言(0) 人氣()
pilano3gswy14 發表在 痞客邦 留言(0) 人氣()
jQuery分類過濾和排序結構插件-Isotope,jquery-isotope
Isotope是一款效果很是奇異的元素分類過濾和排序結構jQuery插件。Isotope是Masonry結構的作者David DeSandro的一款力作,該分類過濾和排序插件答應你以十分簡單和炫酷的方式來潛藏和顯示元素,和對元素依照指定的劃定規矩進行排序。
Isotope可以設置多種佈局體式格局:masonry結構、程度結構、垂直結構、適合行佈局、合適列結構等等。
注意:Isotope不是完全免費的軟件。用於貿易用途時需要向作者購買。作為非商業用處使用時,在遵循GPL v3 License 規範的條件下,你可以自由使用該插件。
pilano3gswy14 發表在 痞客邦 留言(0) 人氣()
pilano3gswy14 發表在 痞客邦 留言(0) 人氣()