顯示具有 PHP 標籤的文章。 顯示所有文章
顯示具有 PHP 標籤的文章。 顯示所有文章

10/26/2016

[php] 在 Mac 用ATOM / Visual Studio Code 為 php debug


依php版本安裝 xdebug
brew install homebrew/php/phpXX-xdebug

在 /usr/local/etc/php/{x.y}/conf.d/ext-xdebug.ini) 內加上
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_connect_back=1    # Not safe for production servers
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart=true



  • ATOM

安裝 php-debug package
https://atom.io/packages/php-debug

用 Atom 打開 php 檔案後插入中斷點,接著選功能表 Packages > PHP-Debug > Toggle Debugging(ctrl + option + D)
執行到中斷行就可以了


  • VS Code

安裝 PHP Debug
https://marketplace.visualstudio.com/items?itemName=felixfbecker.php-debug

用 VS Code 打開 php 檔案後插入中斷點,接著在畫面左邊選擇debug圖示
執行到中斷行就可以了



10/20/2015

[php] 實作callback


用名稱呼
function run1($callback)
{
 $callback('123');
}

function funA($val)
{
 echo 'funA:'.$val;
}

run1('by run1');//funA:by run1

用物件傳(推薦)
class ClassB
{
 public function funB($val){
  echo 'ClassB:funB:'.$val;
 }
}

function run2(ClassB $callable){
 $callable->funB('by run2');
}

run2(new ClassB());//ClassB:funB:by run2

2/07/2014

3/29/2012

[php] 連結保留所有$_GET


你可能會以page做為頁面控制的參數,在 if($key=="page") 時排除掉,你也可以增加或減少
 
$extra_txt = '';
foreach($_GET as $key => $aget){
	if($key=="page"){
		continue;
	}
	$extra_txt .= '&'.$key.'='.$aget;
}
 
1

10/25/2011

[php] 印出資料夾裡所有jpg檔

$files = scandir("XXX");
$jpgcont = 0;
foreach($files as $file){
 if(preg_match("/.jpg$/", $file)){
  echo $file;
 }
}
echo $jpgcont;

10/10/2011

[Web] 100個Web開發工具 (轉)

Web 技術突飛猛進,Web 設計與開發者們可以選擇的工具越來越多,Web 開發者的技巧不再只限於 HTML 和 服務器端編程,還需要精通各種第三方資源,這些第三方資源有時候比你的項目更複雜,更專業,你無法自己實現一切,借助一些 Web API,你可以很方便地將大量優秀的第三方資源集成到自己的站點。本文全面蒐集 Web 開發中可能用到的各種第三方資源。

1. 函數與類庫

A. CAPTCHA

CAPTCHA 用來防止惡意表單發佈,以下 CAPTCHA 系統可以輕鬆集成到你的程序中:

9/06/2011

[php] 讓同一表單的不同按鈕post到不同頁面去

情境:當一個表單上有文字方塊、儲存按鈕以及預覽按鈕時
儲存按鈕會跳到儲存頁去處理
但預覽按鈕想開新視窗時就麻煩了
解決:

8/27/2011

[php] 檔案上傳

php檔案上傳的流程
表單→伺服器→暫存檔→檔案目錄

表單部份

FROM要有
enctype="multipart/form-data" 屬性

//單檔
 //多檔  之後使用$_FILES['UploadFile']['tmp_name'][0~n]

8/08/2011

[php] 提高PHP性能的技巧

​提高PHP性能的技巧
來源:http://tc.wangchao.net.cn/bbs/detail_2018915.html

[php] 存取 MySQL 資料庫

php對資料庫的基本操作流程:
  1. 建立連線: mysql_connect()
  2. 選擇資料庫:mysql_select_db
  3. 對資料庫查詢/修改/新增/刪除:mysql_query()
  4. 取回查詢資料(resource)
  5. 讀取記錄(row):mysql_fetch_array()

[php] Class and Object類別與物件

class MyClass {
//宣告常數
const PI = "3.1415926535";

//宣告成員
var $var1 = 'test';
var $var2;

//靜態成員
static $classname = 'MyClass';

//建構子
funtion __construct() {
    echo 'MyClass被建立';
}
//解構子
funtion __destruct() {
    echo 'MyClass被已解構';
}
//定義方法
funtion showHelloWorld() {
    echo 'HelloWorld!!';
}

//
funtion sum($a, $b) {
return $a + $b ;
}

//取得靜態成員svar1的值
funtion getsvar1($a, $b) {
    return MyClass::$svar1;
}
}

8/07/2011

[php] Session

需要在echo和HTML語法顯示之前start

//開啟Session功能
session_start();

[php] Cookie 用戶端儲存資料

存放帳號,過期日期,購物車等 (密碼不適用,會被看光)

建立Cookie
setcookie(變數名, 變數值, 到期時間的時間戳記-可略)

[php] Datetime日期時間函式

date($format_string)
echo date('Y-m-d h : i : s a') ; // 2011-08-07 03:38:59 am

[php] String字串處理

利用php內建的字串函式庫來處理字串

分割字串
$arr = explode('/', '71/12/03');
→$arr[0] = 71 , $arr[1]=12 , $arr[2] = 03

[php] 小知識

isset($x)
檢查$x 是否被定義過

傳址呼叫
function double(&$x){
$x *= $x;
}

8/06/2011

[php] 10個php新手應該知道的技巧

原文: http://www.phpbuilder.com/columns/vaska20050722.php3

Tip 1: MySQL 連結 Class


[php]class DB {
function DB() {
$this->host = "localhost"; // your host
$this->db = "myDatabase"; // your database
$this->user = "root"; // your username
$this->pass = "mysql"; // your password

$this->link = mysql_connect($this->host, $this->user,
$this->pass);
mysql_select_db($this->db);
}
}

// 在你需要開始使用資料庫的地方(記得先include起來)
$db = new $DB;[/php]

只要更改變數就可以馬上套用,讓你的程式碼更乾淨。
Tip 2: 安全性 (Dealing with Magic Quotes)