PHP

  • [PHP] static、public、private、protected類別變數使用方法

    PHP的物件4種定義變數可用範圍

    定義方法使用範圍由大到小

    static(靜態變數) > public(公有變數) > protected > private(私有變數)

    static(靜態變數)

    使用時不需要特別建立物件,就可以直接使用;

  • IP遠端連接MySQL設定開啟防火牆MySQL預設3306 Port

    MySQL一般情況下都是在主機上,使用root帳號密碼localhost做連結,如您使用root去遠端連結可能會出現"Host xxx is not allowed to connect to this MySQL server"這樣的錯誤訊息。需要遠端如IP去連結MySQL,你的主機開啟防火牆MySQL預設3306 Port,還有一組不屬於localhost端的帳號,預設root只能在localhost做連結。

    以下圖中,在phpmyadmin設定一組帳號密碼,做為可以遠端連線的帳號,主機選擇"任意主機"%,全域權限全選。

  • Joomla php判斷目前語系 getLanguage()-joomla 設計製作

    JFactory::getLanguage()

    使用下列語句可以知道目前你的Joomla網站的語系。

    Example 1

    下面的代碼獲取當前語言的名稱。

    <?php
        $lang = JFactory::getLanguage();
        echo 'Current language is: ' . $lang->getName();
    ?>

    Example 2

    下面的代碼判斷當前語言。

    <?php
        $lang = JFactory::getLanguage();
        $result = $lang->getTag();
        If($result == "en-GB"){
            echo 'is EN ';
        }else{
            echo 'Not is EN ';
        } 
    ?>

    如此就可以做出許多判斷,需要做客製布景時,讓某些東西在特定的語系出現,就可以這樣判斷。

  • Joomla Plesk IIS 重寫偽靜態URL Rewrite規則實現偽靜態

    選擇使用伺服器的重寫(rewrite)引擎,抓取符合特定情況的網址,然後重寫它們如同直接連結。目前可以支援IIS 7和Apache網站伺服器。

  • Joomla如何使用Gmail SMTP寄件做為我的郵件服務器?

    如果你有一個Gmail帳戶,你可以使用Gmail作為您的郵件服務器

    表單使用 Gmail 當 SMTP 時出現 Google 帳戶:登入嘗試遭拒

    該怎麼辦呢? 這一些都是為了安全性,Google 把所有不是透過 Gmail 網頁操作的發信需求,通通都先擋起來了。可以透過以下步驟解開限制:

    1. 將「安全性較低的應用程式存取權限」設為「啟用」

      進入此網頁 https://www.google.com/settings/security/lesssecureapps ,設為「啟用」。 如果怕我給的連結是騙人的,您也可以到 Google 帳戶內找到「安全性較低的應用程式存取權限」的設定,是一樣的東西。

  • Joomla布景Template自訂首頁Logo連結

    當你在開發中製作Joomla布景時,想要將logo連結至首頁,可能情況下你使用的網站專案並不再根目錄下,如下:

    localhost/uccabc/

  • Laravel 5 使用 ReactJS 開發設定

    在這篇文章中,我想與大家分享如何在 PHP Laravel 框架中使用 react js 建置開發環境。在這個例子中,您可以學習如何為 laravel reactjs 應用程序構建設置。

  • PHP array 反轉陣列排列順序

    反轉原陣列順序

    $a=array(‘a’,’1′,’2′,’b’);
    print_r(array_reverse($a));

    顯示結果:
    Array ( [0] => b [1] => 2 [2] => 1 [3] => a )

  • PHP strtotime()日期時間相加相減計算時間差

    PHP strtotime() 函數

    將英文文本日期時間解析為Unix 時間戳:

    <?php
        echo(strtotime("now")); //現在時間
        echo(strtotime("3 October 2005")); //2015-10-03
        echo(strtotime("+5 hours")); //現在時間+5小時
        echo(strtotime("+1 week")); //現在時間+1星期
        echo(strtotime("+1 week 3 days 7 hours 40 minutes 5 seconds")); //現在時間 +1星期3天7小時40分鐘5秒
        echo(strtotime("next Monday")); //下個星期的星期一
        echo(strtotime("last Sunday")); //上個星期的星期天
        //輸出
        //1530144600
        //1473004800
        //1530162600
        //1530749400
        //1531033805
        //1530460800
        //1529769600
    ?>
  • php substr() 取小數點做判斷方法

    使用substr()含數

    array_unique移除陣列中重複的值

    需要使用小數奌做判斷時,我們只需要使用substr()含數,抓取小數點。

  • PHP使用SQLSRV連結MS SQL Server設定教學

    這邊使用的是Windows主機安裝Xampp架設的Web Server環境,然而在其他的系統沒有嘗試使用過。

    php sqlsrv安裝

    1. 首先安裝好xampp。這邊使用的版本為PHP 5.6.15。若想知道自己的php版本可以使用以下php函數方式查看。

      <?php
          phpinfo();
      ?>

  • PHP如何使用AES OPENSSL加密代碼、encrypt、decrypt

    以下使用的是對稱式加密(Symmetric Encryption),對稱式加密就是傳送方與接收方的加解密皆使用同一把密鑰,所以只要雙方都擁有這把鑰匙,當傳送方傳資料時,使用這把鑰匙加密,接收方收到訊息後,再用同一把鑰匙解密,就能解開訊息了。

  • VScode 外掛擴展 PHP IntelliSense Path設定

    PHP IntelliSense是一個能夠提供快速完成PHP代碼及查找關聯、精確錯誤報告的智能感知PHP擴展。在使用VScode安裝PHP IntelliSense開發PHP需要先安裝PHP7才能使用,也就是說需要有架設好的PHP環境。

    Visual Studio Code + XAMPP

    這邊選擇最快速架設一個WebServer,使用XAMPP(Apache + PHP + Mysql等等...),提醒要裝PHP7的版本。

    XAMPP安裝完成後,開啟XAMPP Control Panel,Apache的actions欄位下按鈕按下start,如下圖。

    XAMPP Control Panel

  • 使用cPanel中的Git版本控制工具來安裝和更新網站

    Git是許多程序員使用的分佈式版本控制系統。cPanel工具提供了一個方便的圖形界面Git version control tool,允許在不使用命令行的情況下訪問Git功能。它可用於安裝和更新存儲在Git存儲庫中的Web站點,本文介紹如何使用簡單的“Hello World!”執行安裝。例如可以使用相同的步驟來安裝任何大小的應用程序。在此示例中,開發人員創建了一個Web頁面並將其放在Github上的存儲庫中。

  • 使用docker LaraDock搭建PHP環境

    雖然這篇叫Docker環境搭建,但是是用了一個別人寫好的配置文件,為什麼要用別人寫好的呢?因為第一節省了我們學習的成本,類似一鍵安裝環境的東西。二節省了我們的構造docker和測試docker的時間。三也省略了我們在去寫額外的服務器配置。

    這裡我選用LaraDock,因為它的容器多,不僅僅用來作web服務器。 LaraDock官網

  • 使用Joomla cache緩存快取時更新文章點擊數hits

    啟用Joomla cache緩存快取同時並禁用了匹配點擊數(hits)

    Joomla中啟用緩存,在提供緩存快取頁面時,文章匹配點擊數不會增加。不幸的是,這是Joomla中緩存快取系統的限制,沒有"切換開關"來啟用此功能。

  • 使用Laradock執行安裝Wordpress、Joomla環境設定

    初期Laradock 是用 Docker來建造,一個快速搭建Laravel的 PHP 開發環境,但後來受歡迎開發的越來成熟,並可以支援眾多 PHP 開發,成為一個可以拿 Laradock 做各種 PHP 專案開發的環境,包括 Symfony、CodeIgniter、Joomla、WordPress、Drupal…等。

  • 使用PHP Joomla Ajax進行文件資料表單上傳

    在views/temp目錄下創建當php檔案如下分別鍵入html與Javascript jQuery Ajax部分。

    建立views頁面

    <?php
        <form action="<?php echo JUri::getInstance(); ?>" id="adminForm" name="adminForm" enctype="multipart/form-data" method="post">
    
          <input name='user' placeholder='user'><br>
          <input name='password' type='password' placeholder='password'><br>
          <input type="file" name="file"/>
          <button type='submit'>Try</button>
    
        </form>
        <script>
            (function($)
            {
                $('button').click(function(e){
                    e.preventDefault();
                    var form = $('form')[0];
                    var formData = new FormData(form);
                    $.ajax({
                        url:'index.php?option=com_hrsystem&view=training&layout=upload&format=json',
                        type : "POST",
                        data : formData,
                        contentType: false,
                        cache: false,
                        processData: false,
                        success : function(data) 
                        {
                             console.log(data);
    
                        },error: function(data) 
                        {
                            console.log('無法送出');
                        }
                    })
    
                });
            })(jQuery);
        </script>
    ?>
  • 基本應用正則表達式

    只能輸入1個數字 
    表達式 ^/d$
    描述 匹配一個數字
    匹配的例子 0,1,2,3
    不匹配的例子  
  • 如何使用PHP創建沒有類的object物件方法

    你可以隨時使用new stdClass()。示例代碼:

    $object = new stdClass();
    $object->property = 'Here we go';
    
    var_dump($object);
    /*
    outputs:
    
    object(stdClass)#2 (1) {
    ["property"]=>
    string(10) "Here we go"
    }
    */

    同樣從PHP 5.4開始,你可以得到相同的輸出:

    $object = (object) ['property' => 'Here we go'];

    PHP 5.4方法,這使得代碼更短,更具可讀性,特別是當你有幾個項目添加到對象。