Time of Update: 2016-11-23
瀏覽器和伺服器之間只一種面向不需連線的HTTP協議進行通訊的,面向不需連線的程式的特點是用戶端請求服務端,服務端根據請求輸出相應的程式,不能保持持久串連。這樣就出現了一個問題,一個用戶端的相應服務端可能執行1秒也有可能執行1分鐘,這樣瀏覽器就會一直處於等待狀態,如果程式執行緩慢,使用者可能就沒耐心關掉了瀏覽器。而有的時候我們不需要關心程式執行的結果,沒有必要這樣浪費時間和耐心等待,那我們就要想出辦法讓程式不收等待在後台靜默執行。比如現在有一個情境,給1000個使用者發送一封推薦郵件,使用者輸入或
Time of Update: 2016-11-23
<?php$db = mysql_connect('localhost', 'root', 'root') or die('Can\'t connect to database');mysql_select_db('test') or die('Can\'t find database : test');$result = mysql_query('select id,
Time of Update: 2016-11-23
<?php class smtp { /* Public Variables */ var $smtp_port; var $time_out; var $host_name; var $log_file; var $relay_host; var $debug; var $auth; var $user; var $pass; /* Private Variables */ var $sock; /* Constractor */ function smtp($relay_host =
Time of Update: 2016-11-23
在以前的php 版本中,要判斷session是否有效,只能用如下的方法: Java代碼 session_start(); if(isset($_SESSION)) { echo "Started"; } else { echo "Not Started"; } 而在php 5.4(即將發行)中,對session的狀態進行了細分,可以用如下的方法判斷: Java代碼
Time of Update: 2016-11-23
<?php /** * @title:圖片浮水印 * @autor:zms * @version:2011-7-26 * 因為GD庫的限制,現在只能使用gif,jpg,png三種格式 */ // //////////使用例子 //執行個體化 //參數說明:路徑,是否使用浮水印(default:false) $img = new image_watermark(true);//執行個體化 //設定原始圖 $img->dst_image('卡通.jpg');
Time of Update: 2016-11-22
如果用php的+-*/計算浮點數的時候,可能會遇到一些計算結果錯誤的問題,比如echo intval( 0.58*100 );會列印57,而不是58,這個其實是電腦底層二進位無法精確表示浮點數的一個bug,是跨語言的,我用python也遇到這個問題。所以基本上大部分語言都提供了精準計算的類庫或函數庫,比如php有BC高精確度函數庫,下面介紹一下一些常用的BC高精確度函數使用。 php
Time of Update: 2016-11-23
PHP substr()函數可以 分割文字,但要分割的文字如果包括中文字元往往會遇到問題,這時可以用mb_substr()/mb_strcut這個函數,mb_substr() /mb_strcut的用法與substr()相似,只是在mb_substr()/mb_strcut最後要加入多一個參數,以設定字串的編碼,但是 一般的伺服器都沒開啟php_mbstring.dll,需要在php.ini在把php_mbstring.dll開啟。 舉個例子: <?php echo mb_substr(&
Time of Update: 2016-11-23
PHP 5 新增了一個 final 關鍵字。如果父類中的方法被聲明為 final,則子類無法覆蓋該方法。如果一個類被聲明為 final,則不能被繼承。Example #1 Final 方法樣本class BaseClass{ public function test(){ echo "BaseClass::test() called<br>"; } final public function moreTesting(){
Time of Update: 2016-11-22
PHP 遵從大多數伺服器系統中關於檔案和目錄許可權的安全機制。這就使管理員可以控制哪些檔案在檔案系統內是可讀的。必須特別注意的是全域的可讀檔案,並確保每一個有許可權的使用者對這些檔案的讀取動作都是安全的。PHP 被設計為以使用者層級來訪問檔案系統,所以完全有可能通過編寫一段 PHP 代碼來讀取系統檔案如 /etc/passwd,更改網路連接以及發送大量列印任務等等。因此必須確保 PHP 代碼讀取和寫入的是合適的檔案。請看下面的代碼,使用者想要刪除自己主目錄中的一個檔案。假設此情形是通過 web
Time of Update: 2016-11-22
/** * 1、define(name,value,case_insensitive) 自訂全域常量, 預設大小寫敏感 * 2、const 定義類常量。 * 3、常量名前不要使用”$” * 4、常量的命名一般全部使用大寫字母。 *///定義全域常量 LANGUAGEdefine('LANGUAGE','中國');echo language;//languageecho LANGUAGE;//中國//定義全域常量 CNdefine('CN','
Time of Update: 2016-11-23
function GetIP(){ if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = getenv("HTTP_CLIENT_IP"); else if (getenv("HTTP_X_FORWARDED_FOR") &&
Time of Update: 2016-11-22
設計資料庫第一步一般都是建立資料庫,除非是使用第三方的資料庫服務。當建立一個資料庫的時候,會指定一個所有者來執行和建立語句。通常,只有所有者(或超級使用者)才有權對資料庫中的對象進行任意操作。如果想讓其他使用者使用,就必須賦予他們許可權。應用程式永遠不要使用資料庫擁有者或超級使用者帳號來串連資料庫,因為這些帳號可以執行任意的操作,比如說修改資料庫結構(例如刪除一個表)或者清空整個資料庫的內容。應該為程式的每個方面建立不同的資料庫帳號,並賦予對資料庫物件的極有限的許可權。僅分配給能完成其功能所需的
Time of Update: 2016-11-22
今天遇到一個這樣的問題。想必大家都遇到過,因為排版需要,如果使用者名稱如果過長的話,將做截取操作,顯示為... 。 我們的需求類似sina 微博,如果是中文的話,最多顯示5位,如果超過5位則顯示4個中文,三個... ,大家都知道,排版時一個中文佔兩個英文的位置。所以要最多顯示10位,類推上面的來的。在網上找到的解決辦法不是很好,我自己寫了一個。我把它們放到helper裡面了。不說思路了,直接上代碼吧。<?phpclass Zend_View_Helper_UserName{
Time of Update: 2016-11-22
對於 PHP 的安全性來說錯誤報表是一把雙刃劍。一方面可以提高安全性,另一方面又有害。攻擊系統時經常使用的手法就是輸入不正確的資料,然後查看錯誤提示的類型及上下文。這樣做有利於攻擊者收集伺服器的資訊以便尋找弱點。比如說,如果一個攻擊者知道了一個頁面所基於的表單資訊,那麼他就會嘗試修改變數:Example #1 用自訂的 HTML 頁面攻擊變數<form method="post"
Time of Update: 2016-11-22
儲存資料有兩種基本方法:儲存到普通檔案,或者儲存到資料庫中。 資料寫入: 1、開啟檔案。如果檔案不存在,需要先建立它。2、將資料寫入這個檔案。3、關閉這個檔案。資料讀出: 1、開啟檔案。如果這個檔案不能開,就應該意識到這一點並且正確地推出。2、從檔案中讀出資料。3、關閉這個檔案。選擇檔案模式: 當開啟一個檔案的時候,有以下三種選擇。
Time of Update: 2016-11-23
PHP 註冊代碼 <?php$Uname=$_POST["Uname"];$Pwd=$_POST["Pwd"];$register=$_POST["register"];$link=mysql_connect("localhost","root","12345");if($link){ $db_selected=Mysql_Query("use
Time of Update: 2016-11-23
Web 的好處是可以分享資訊和服務。壞處也是可以分享資訊和服務,因為有些人做事毫無顧忌。以表單為例。任何人都能夠訪問一個 Web 網站,並使用瀏覽器上的 File > Save As 建立表單的本機複本。然後,他可以修改 action 參數來指向一個完整 URL(不指向 formHandler.php,而是指向 http://www.yoursite.com/formHandler.php,因為表單在這個網站上),做他希望的任何修改,點擊
Time of Update: 2016-11-23
PHP一直是在Web開發領域中十分重要而快捷方便的開發語言,深受廣大開發人員的青睞。現在PHP 5.4的正式版本已經發布,其中增加了大量新的特性,官方聲稱效能提高20%,並且佔用更少的資源。在本文中,我將帶領大家學習PHP 5.4的一些新的特性。 在PHP 5.4中,首先是修複了多達100多處的bug,並且在記憶體及效能最佳化上做的更好了,而且去掉了一些之前版本的方法,比如register_globals,magic_quotes,safe_mode等,而且要注意的是,PHP
Time of Update: 2016-11-22
統計郵件開啟次數的做法基本上是在郵件中放入一個圖片,然後統計圖片開啟的次數mail.html<img src="mail.jpg" />這樣就可以通過日誌統計到圖片開啟的次數,但是這樣統計到的次數是存在誤差的。比如使用者多次開啟等。 其實在郵件中也可以這樣寫,直接將src指向到一個php檔案,然後在php檔案中輸出這個圖片就可以了。第一次嘗試:mail.html<img src="open.php" />mail.phpdie(
Time of Update: 2016-11-23
<?php /** * Mysqli類 * * @author 廢墟 * @version v1.0 2009-08-18 * @link http://anerg.cn/ */ class db_mysqli { protected $mysqli; protected $sql; protected $rs; protected $query_num = 0; protected $fetch_mode = MYSQLI_ASSOC; protected