php數字過長計算

解決方式,即是計算過程(加、減、乘、除)都必須使用BC高精準度函式計算,
中間若穿插一般計算方式,即有可能又會變成科學符號。

BC高精準度函式庫

bcadd   — 將二個高精準度數字相加
bccomp  — 比較二個高精準度數字
bcdiv   — 將二個高精準度數字相除
bcmod   — 取得高精準度數字的餘數
bcmul   — 將二個高精準度數字相乘
bcpow   — 求高精準度數字的次方值
bcscale — 設定小數點位數
bcsqrt  — 取得高精準度數字的平方根
bcsub   — 將二個高精準度數字相減

註:上限位元數與作業系統位元有關,64bit的作業系統,上限為14位元。

Ref:http://php.net/manual/en/ref.bc.php

wordpress文章限制登入閱讀

在主題(Theme)下的 functions.php 檔案置入以下程式碼,就可以達到未登入者瀏覽網站都會被強制導向登入頁面。

function
admin_redirect() {

   if ( !is_user_logged_in()) {
       wp_redirect( home_url('wp-login.php') );
       exit;
   }
}
add_action('get_header', 'admin_redirect');

如果是首頁開放公開瀏覽
(但從首頁點進去的文章/分頁等連結還是會自動導向登入頁面)
可以加入 !is_home() 判斷條件來僅開放首頁。

function admin_redirect() {
   if ( !is_home() && !is_user_logged_in()) {
       wp_redirect( home_url('wp-login.php') );
       exit;
   }
}
add_action('get_header', 'admin_redirect');

jQuery UI datepicker 限制日期選擇

可以使用 beforeShowDay 這個預設的 event 來做取消週末或週日的日期格子的動作。

範例:如果想要取消所有週末的日期格子使之不能選取,可以使用 Datepicker 內建的 noWeekends 函式。

$(document).ready(function() {
  $(function() {
    $('#datepicker_reserve').datepicker({
      beforeShowDay: noWeekends
    });
  });
});

範例:如果想要取消所有週日的日期格子使之不能選取,我們可以將 Datepicker 內建的 noWeekends 函式稍做修改即可。
getDay(): 0= 週日; 6= 週六

$(document).ready(function() {
  $(function() {
    $('#datepicker_reserve').datepicker({
      beforeShowDay: noSundays
    });
  });
});
function noSundays(a) {
  a=a.getDay();
  return[a>0&&a<7,""];
}

參考資訊:

 

解決wordpress無法自動更新

打開wp-config.php

將下面的文字貼進檔案最下面即可:
putenv(‘TMPDIR=’ . ini_get(‘upload_tmp_dir’));
if(is_admin()) {
add_filter(‘filesystem_method’, create_function(‘$a’, ‘return “direct”;’ ));
define( ‘FS_CHMOD_DIR’, 0751 );
}

CentOS的.htaccess不起作用

安裝好Centos 6之後,將原本舊的wordpress複製過來,但是只要開啟使用Rewrite的網址,都出現404 Not Found。應該是Apache的Rewrite部分有問題了,.htaccess的設定沒有作用!檢查Apache的mod,發現Rewrite mod是開啟的狀態。最後找了一下,需要修改httpd.conf中的「AllowOverride」的屬性為「All」才可以正確開啟了Rewrite。

輸入輸入 :

#vi /etc/httpd/conf/httpd.conf

找到設置部分,預設AllowOverride的屬性應該是None

<Directory /> AllowOverride All </Directory>

上面這段的Directory /的「/」為你的www路徑,如放在「/var/www/html」路徑下就寫為「<Directory /var/www/html>」,以此類推。保存後重啟httpd服務:

#/etc/init.d/httpd restart

wordpress的頁面就可以正常讀取了。

WordPress FTP自動更新

在wp-config.php裡透過下列函式指定儲存位置

1
define( 'WP_TEMP_DIR', '/path/to/temp/folder/');

設定好暫存位置後,記得給該資料夾777的權限。

以下是FTP相關的設定常數

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
// 這基本上不用加,有問題的時候改成"ftpsockets"
define('FS_METHOD', 'ftpext');
// 以下三個常數用在chroot的FTP環境,平常也不需要加
define('FTP_BASE', '/path/to/wordpress/');
define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/');
define('FTP_PLUGIN_DIR ', '/path/to/wordpress/wp-content/plugins/');
// 帳號密碼,但密碼不建議設定
define('FTP_USER', 'username');
define('FTP_PASS', 'password');
// 主機位置和SSL設定
define('FTP_HOST', 'ftp.example.org');
define('FTP_SSL', false);