PHP 解決 Fatal error: Uncaught Error: Call to undefined function set_magic_quotes_runtime()

set_magic_quotes_runtime()於 PHP5.3後棄用

在 PHP.net 官方文件中有提到,set_magic_quotes_runtime()於PHP5.3已經棄用,雖然不會造成Fatal error而中斷程式,但會發送E_DEPRECATED的過時警告,而在PHP4.0+已被棄用,所以PHP4.0之後不會有set_magic_quotes_runtime()這function,所以會跳出下列錯誤:

Call to undefined function set_magic_quotes_runtime()

官方說明:
http://php.net/manual/en/function.set-magic-quotes-runtime.php

解決方法:

移除所有 set_magic_quotes_runtime() 程式碼。

替代方案:

[……]

閱讀更多

PHP include vs require

PHP include 與 require 到底有什麼差異阿?

相信 include() 跟 require() 大家並不陌生,都是用來引入文件,如果都一樣又為何要分成 include() 與require()呢,其實還是有些差異拉,我把在網路上看到的差異做成了比較表,方便大家選擇最適合的。

 

include

require

用到時才載入
一開始就加載

檔案發生錯誤的話,會顯示警告,不會立刻停止
會顯示錯誤,立刻終止程式,不再往下執行。

需要處裡文件檢查、速度相對較慢
速度比較快

適合動態態載入檔案
適合靜態檔案

適合用來引入動態的程式碼
適合用來引入靜態的內容

可以用在迴圈

有返回值
-[……]

閱讀更多

PHP in_array comparing two arrays

PHP in_array() 無法比較兩個陣列,這邊採取替代的作法,使用array_intersect(),取得值的交集

/*
    VECTOR COOL
    https://vector.cool	
*/
$arr1 = array(1,2,3);
$arr2 = array(1,2,3,4,5,6,7);
$arr = array_intersect($arr1, $arr2);
if (count($arr) > 0) {
   // do something
}

參考資料:

[……]

閱讀更多

PHP 清除字串頭尾空白

這是一個很常用的功能,有時我們在處理表單發送後的資料,有時常常會多按了一些空白,這些空白可能會導致資料錯誤,或是資料轉檔時,明明看資料沒錯,怎麼就對不起來,比如說我剛剛的例子,搞了我好久

用法:

<?php
 $str=" 測試字串,前後空白都會被清除     ";
 echo trim("$str");
?>

案例:

API回傳Json資料,怎麼看pickUpDateTime,都是沒值的,我就用empty()來做判斷,卻怎麼都友值,弄了半天是空白字元,我也不懂這API主人為什麼空值不拋要拋一堆空白自原來害人

[toStoreDateTime] => 2017/08/11 00:00:00
[pickUpDateTime] =>                    
[omTranMode] => 3203
[Status] => 50
[omReceName] => 王小明

不管!!至少問題找到了,問題就解決一半了,接著就是在用empty()作空值判斷前,先用trim()去過濾這些該死的空白

<?php
$pickUpDateTime ="                   ";
echo (empty(trim($pickUpDateTime )))?1:0;
?>

[……]

閱讀更多

[PHP] pathinfo()輕鬆取檔案副檔名、檔案名稱、根目錄相對路徑、資料夾名、

pathinfo()

可輕鬆取檔案名稱、副檔名、根目錄相對路徑、資料夾名

用法一

pathinfo($path, PATHINFO_EXTENSION);

// 參數 (選用)
PATHINFO_DIRNAME   //完整路徑
PATHINFO_BASENAME  //完整檔名
PATHINFO_EXTENSION //副檔名
PATHINFO_FILENAME  //檔名

用法二

$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');

echo $path_parts['dirname'], "n";
echo $path_parts['basename'], "n";
echo $path_parts['extension'], "n";
echo $path_parts['filename'], "n"; // since PHP 5.2.0

output:

/www/htdocs/inc
lib.inc.php
php
lib.inc

 

參考:

http://stackoverflow.com/questions/10368217/how-to-get-the-file-extension-in-php
http://php.net/manual/en/function.pathinfo.php

[……]

閱讀更多

[mysql] 外鍵 Foreign Key 速查

當關聯父資料表的主鍵紀錄行被刪除或修改時,InnoDB 對子資料表中紀錄行的處理方式:
CASCADE – 會將有所關聯的紀錄行也會進行刪除或修改。
SET NULL –
會將有所關聯的紀錄行設定成 NULL
NO ACTION –
有存在的關聯紀錄行時,會禁止父資料表的刪除或修改動作。
RESTRICT –
 NO ACTION 相同。[……]

閱讀更多

[PHP] php7 Call to undefined function curl_init() , fix the issue

Move to Windowssystem32 folder:
libssh2.dll, php_curl.dll, ssleay32.dll, libeay32.dll

Move to Apache24bin folder
libssh2.dll

Uncomment extension=php_curl.dll

原文
http://php.net/manual/en/curl.installation.php

# PHP.ini取消註解
extension=php_curl.dll

# 移動PHP目錄中的下列檔案至 C:Windowssystem32中
libssh2.dll, php_curl.dll, ssleay32.dll, libeay32.dll
# 移動PHP目錄中的下列檔案至apachebin中
libssh2.dll

[……]

閱讀更多