Time of Update: 2017-01-19
用PHP實現的Daemon類。可以在伺服器上實現隊列或者脫離 crontab 的計劃任務。 使用的時候,繼承於這個類,並重寫 _doTask 方法,通過 main 初始化執行。<?php class Daemon { const DLOG_TO_CONSOLE = 1; const DLOG_NOTICE = 2; const DLOG_WARNING = 4; const DLOG_ERROR = 8; const DLOG_CRITICAL = 16;
Time of Update: 2017-01-19
使用PHP編寫程式的時候,我們常常想要擷取當前頁面的URL。下面提供一個用於擷取當前頁面URL的函數以及使用方法:樣本一:<?php// 說明:擷取完整URLfunction curPageURL() { $pageURL = 'http'; if ($_SERVER["HTTPS"] == "on") { $pageURL .= "s"; } $pageURL .= "://"; if ($_SERVER["SERVER_PORT"] != "80") {
Time of Update: 2017-01-19
那麼我們在程式裡必然會設計到演算法,即按照一定的機率讓使用者獲得獎品。先來看兩個機率演算法函數。演算法一複製代碼 代碼如下:/** * 全機率計算 * * @param array $p array('a'=>0.5,'b'=>0.2,'c'=>0.4) * @return string 返回上面數組的key */function random($ps){ static $arr =
Time of Update: 2017-01-19
這個欄目最開始調用微博飯否的API來做的,因為眾所周知的緣故,飯否無法使用了,後來採用騰訊的滔滔API來實現.2010年1月26日滔滔業務將會開始和QQ空間心情整合,只能考慮放棄。思來想去,最終還是考慮用Twitter來實現,不過Twitter在國內無法訪問,不能採用js的方式來調用。本部落格的伺服器才國外,用php的方式訪問Twitter的API應該沒有問題,雖然有現成的wordpress外掛程式“Twitter
Time of Update: 2017-01-19
開始之前,首先要澄清兩個問題:第一,支援開源,不等於反對代碼加密;第二,如果把不屬於自己的東西(比如公司的)拿去開源,就更加不應該了。以前知道的,PHP代碼的加密都是用Zend的encoder,這東西不但是商業軟體,好像還暴出過能夠被破解的問題,所以就找到了替代的方案────php_screw,一個日本人開發的東東。php_screw非常小巧,沒有仔細看過它的演算法,但從說明文檔中看,可以自行更改SEED,然後自行編譯so和可執行檔。如果夠牛的話,甚至可以自己去更改演算法。不管怎樣,對於我們這些
Time of Update: 2017-01-19
從PHP產生HTML靜態頁面並儲存到以年份和月份為名稱建立的目錄。讀取全部資料批量產生,全部產生後彈出提示。可指定批次產生數量,建議不超過800,否則執行速度會有問題。(出於眾所周知的原因,涉及到資料庫的資料欄位名稱做了改動,並且為了代碼明晰去掉了參數過濾的部分) 說明:原動態地址為 moban.php?id=1 ,產生後地址為 html/200808/sell_1.html
Time of Update: 2017-01-19
最近發現做一個php程式表單資料提交寫入資料庫的內容中只要是帶有單引號或者雙引號的內容時,後面都會增加一個反斜線。而且每儲存一次增加一個反斜線,很是鬱悶。於是從網上搜了一下原來是PHP程式為了防止注入或者溢出,通過PHP 指令 magic_quotes_gpc自動在雙引號、單引號、反斜線、NULL前面添加反斜線。預設PHP 指令 magic_quotes_gpc是on的,也就是開啟的。這時候就可以用stripslashes()
Time of Update: 2017-01-19
驗證碼在表單實現越來越多了,但是用js的寫的驗證碼,總覺得不方便,所以學習了下php實現的驗證碼。好吧,其實是沒有事情幹,但是又不想浪費時間,所以學習了下php實現驗證碼。正所謂,技多不壓身。而且,也可以封裝成一個函數,以後使用的時候也是很方便的,當然現在未封裝。現在來說說簡單的純數字驗證碼吧。如果是初學者,建議按照我代碼的注釋 //數字 一步步來。最簡單的方法,還是把整個代碼複製走了。建立一個captcha.php:<?php
Time of Update: 2017-01-19
① __get/__set:將對象的屬性進行接管當訪問一個不存在的對象屬性時:index.php複製代碼 代碼如下:<?phpdefine('BASEDIR',__DIR__); //定義根目錄常量include BASEDIR.'/Common/Loader.php';spl_autoload_register('\\Common\\Loader::autoload');$obj = new
Time of Update: 2017-01-19
最近需要收集資料,在瀏覽器上用另存新檔的方式實在是很麻煩,而且不利於儲存和檢索。所以自己寫了一個小爬蟲,在網上爬東西,迄今為止,已經爬了近百 萬張網頁。現在正在想辦法著手處理這些資料。爬蟲的結構: 爬蟲的原理其實很簡單,就是分析下載的頁面,找出其中的串連,然後再下載這些連結,再分析再下載,周而復始。在資料存放區方面,資料庫是首選,便於檢索,而
Time of Update: 2017-01-19
共分四個檔案,分別是建立、增加、刪除、修改四個功能,變數都是寫死的,改一改用$_POST方式接收就可以用了 //index.php 建立功能 複製代碼 代碼如下: <?php $xmlpatch = 'index.xml'; $_id = '1'; $_title = 'title1'; $_content = 'content1'; $_author = 'author1'; $_sendtime = 'time1'; $_htmlpatch = '1.html';
Time of Update: 2017-01-19
現在網路資訊監管很嚴格,特別是屏蔽關鍵字。特別是現在WEB2.0時代,網站的內容幾乎都是來自網民發布,站長管理即可。如果你希望別人在你網站禁止發布某個關鍵字,那麼就需要預先做處理。用PHP做關鍵字屏蔽的功能樣式有多種多樣,如正則是最普遍的一種,這裡就不一一例舉,本文介紹使用PHP函數strpos屏蔽關鍵字的功能。思路:一、把關鍵字專門寫在一個文字檔裡,每行一個,數量不限,有多少寫多少。二、PHP讀取關鍵字文本,存入一個數組三、遍曆關鍵字數組,挨個用strpos函數去看看內容有沒有關鍵字,如果有,
Time of Update: 2017-01-19
單例模式主要使用於資料庫的串連, 確保資料庫一個類只有一個執行個體, 並且向整個系統提供這個執行個體。從而避免new操作消耗資源, 同時避免資料庫出現too many connection資訊.要點有三個: 1. 必須只有一個執行個體。 2. 必須自動建立這個執行個體。 3. 必須向整個系統提供這個執行個體。複製代碼 代碼如下:<? class
Time of Update: 2017-01-19
本地沒有發郵件的伺服器,藉助現成的SMTP伺服器發送郵件是個不錯的選擇,這裡使用到的工具是phpmailer ( Version 5.2.0),SMTP伺服器就選gmail和163。1. 使用gmail發送的指令碼include("class.phpmailer.php");include("class.smtp.php");//擷取一個外部檔案的內容$mail = new PHPMailer();$body =
Time of Update: 2017-01-19
百度dict 採集樣本寫的採集百度dict詞典翻譯後的所有結果資料,當然附帶了13.5w單詞庫和採集簡單的案例,這裡我把寫出的主要類dict.class.php放出來,項目地址http://github.com/widuu/baidu_dict,有需要的直接fork就可以了~麼麼噠,這東西用的人很少,所以有用的兄弟拿走了哈~<?php/** * dict.class.php 採集百度詞典翻譯內容 * * @copyright (C) 2014 widuu *
Time of Update: 2017-01-19
還是借用上一篇的例子: PHP代碼 複製代碼 代碼如下: <?php // 例子1 function test_global() { global $var1, $var2; $var2 =& $var1; } function test_globals() { $GLOBALS['var3'] =& $GLOBALS['var1']; } $var1 = 5; $var2 = $var3 = 0; test_global(); print $var2 .”\n”;
Time of Update: 2017-01-19
首先你需要先到從http://glob.com.au/sendmail/下載sendmail.zip檔案,點此可以直接下載噢,然後把它解壓到如D:\php\sendmail\目錄下。 然後開啟php.ini檔案,找到下面這段代碼 複製代碼 代碼如下: [mail function] ; For Win32 only. SMTP = localhost smtp_port = 25 ; For Win32 only. ;sendmail_from = me@example.com ; For
Time of Update: 2017-01-19
PHP fgetcsv 定義和用法 PHP fgetcsv() 函數從檔案指標中讀入一行並解析 CSV 欄位。 與PHP fgets() 類似,不同的是 PHP fgetcsv() 解析讀入的行並找出 CSV 格式的欄位,然後返回一個包含這些欄位的數組。 fgetcsv() 出錯時返回 FALSE,包括碰到檔案結束時。 注釋:從 PHP 4.3.5 起,PHP fgetcsv()
Time of Update: 2017-01-19
一、入口 入口檔案可以是單檔案也可以是多檔案,我現在用的基本屬多檔案,但是入口檔案內容基本都是一樣,為以後的修改其它的入口方式做基礎, 複製代碼 代碼如下: <?php require 'command/config.php'; require 'command/app.php'; app::run($config); ?> 首先不用說大家也看得出來,載入系統設定檔,然後通過引擎來載入系統配置。 二、引擎 複製代碼 代碼如下: public function
Time of Update: 2017-01-19
一.查看郵件是否已被閱讀 當你發送郵件時,你肯定很想知道你的郵件是否已被對方查看。下面的代碼就能實現記錄閱讀你郵件的IP地址,還有實際的閱讀日期和時間。複製代碼 代碼如下:error_reporting(0);Header("Content-Type: image/jpeg");//Get IPif (!empty($_SERVER['HTTP_CLIENT_IP'])){ $ip=$_SERVER['HTTP_