1. 程式人生 > >工作總結第二天

工作總結第二天

一 ,jquery form 的使用 ,地址:https://github.com/jquery-form/form

首先明確,form表單中不能巢狀form表單,然後一個頁面可以有多個form表單。

一個簡單示例 : 前提 ,引入 jquery 和 jquery form 兩個 js 檔案  ,可參考 :http://blog.csdn.net/qq_28602957/article/details/53612885

HTML :

                    <form id="tab2" action="" method="post" enctype="multipart/form-data">
                        <!-- <input type="file" name="myfile" /><br>
                        <input type="submit" value="Upload File to Server"> -->
                        <input type="file" name="myfile" id="upload" class="upfile" onchange="document.getElementById('upfileResult').innerHTML=this.value">
                        <span id="upfileResult" class="newfileResult"></span>
                        <input class="upFileBtn" type="button" value="瀏覽" onclick="document.getElementById('upload').click()">
                    </form>

JS:

<script>
    $('#upload').change(function(){
      $('#tab2').submit();
    });

    $(function(){
      $('#tab2').ajaxForm({
          url : "<?=Yii::$app->urlManager->createUrl('/Message/sms/import'); ?>",
          success: function(data) {//成功
          alert(data);
          },
          error:function(err){//失敗
          alert("表單提交異常!"+err.msg);
          },
          // complete: function(xhr) {//完成
          //     status.html(xhr.responseText);
          // }
      });
    })
</script>

這個例子只演示了檔案的上傳,要知道使用這個外掛不僅僅可以上傳檔案,還有圖片和任何name屬性中的值

2,yii 框架中新建的module會預設使用defaultController 這個控制器,如果想要改變它需要在/config/web.php中指定這個模組的defaultRoute或者在module.php中指定這個defaultRoute屬性也行。

3.yii 框架中使用gii生成modules時最好指定到modules\admin\這樣的具體模組下,而不是使用modules作為一個模組,另外就是有時生成的模組入口檔案可能未生成成功,可刪除掉已生成的檔案再次重新生成一次

4,yii中所有的靜態檔案都使用asstes這個目錄的資源,不同模組應該可以自定義,還未嘗試

5.phpExcel類的使用。可直接讀取xls和xlsx檔案的內容而無需必須轉成csv  ,下載地址,https://github.com/PHPOffice/PHPExcel,這個類不僅可讀,而且可生成excel以及生成pdf和html等,參考 http://blog.csdn.net/diandian_520/article/details/7827038。

6,使用str_replace 替換了路徑中的反斜線為斜線 str_replace('\\','/',$file_name);  參考 :mixedstr_replace (mixed$search ,mixed$replace ,mixed$subject [,int&$count ] )

7,使用了pathinfo來獲取檔案的字尾名  pathinfo($filename)['extension']; 當然獲取方式有很多,比如 strrchr( ' .' ,$filename) ,或者explode(' .',$filename ) 然後end( $arr )即可,當然陣列的操作就多了,比如逆向排序後取出第一個或者array_pop彈出最後一個,或者array_slice( $arr,-1,1)

8,array_filter 的使用,這個函式可以用回撥函式來迴圈處理傳進來的陣列單元的每個值,過濾後的單元為真則進入將要被返回的新陣列,如果沒有回撥函式則字串為真也會進入新陣列,參考:

array array_filter ( array$array [, [, int$flag = 0 ]] )

依次將 input 陣列中的每個值傳遞到 callback 函式。如果 callback 函式返回 TRUE,則input 陣列的當前值會被包含在返回的結果陣列中。陣列的鍵名保留不變。


9,除了同2進行取模運算外,使用php 的位運算也能夠做到,那就是讓所有數與1進行按位與 (&),比如:

3 & 1
00000011
00000001
00000001
4 &1
00000100
00000001
00000000

因為1的二進位制滿位時是 00000001,所以任何數字只有最後一位為1時才能有值。

可以得證,所有奇數與1按位與後的結果均為1,所有偶數與1按位與後的結果均為0

10,ajax 用var_dump() 返回時在網路請求裡面看返回結果,不要等success

11, 禁止enter提交表單 :onkeydown="if(event.keyCode==13)return false; 參考 :http://www.jb51.net/article/50006.htm