Time of Update: 2016-06-07
項目中需要做個提交周報的功能,需要知道指定周數的開始日期和結束日期,以便處理其他業務。以下是一段通過PHP來擷取一年中的每星期的開始日期和結束日期的代碼,與大家分享。複製代碼 代碼如下:function get_week($year) { $year_start = $year . "-01-01"; $year_end = $year . "-12-31"; $startday = strtotime($year_start); if (intval(date(
Time of Update: 2016-06-07
對於用過smarty做過php開發的朋友來說,應該都知道在smarty模板裡面判斷foreach迴圈是否是最後一個可以用$smarty.foreach.name.last來判斷迴圈是否到了最後一條記錄,在thinkphp的模板中常見的迴圈是volist,但是volist的各種屬性中並沒有直接判斷最後一條記錄的屬性,那麼在thinkphp中如何判斷呢?下面的代碼可以實現ThinkPHP中volist斷最後一條記錄。舉例代碼如下,讀者可以自己去體會。class="last">指令碼之家以上程式碼片段
Time of Update: 2016-06-07
ThinkPHP3.1.3在啟用路由的情況下,其分頁地址不是路由的地址,由於thinkphp3.2.1的代碼也沒有修複,很多人都遇到了這一問題,本文採納olcms的修改方法解決這一問題,特別感謝phper jack對此做出的貢獻,具體解決辦法是修改ThinkPHP的functions.php的U方法,在287行左右: if(!empty($vars)) { // 添加參數 foreach ($vars as $var => $val){ if('' !== trim($val)) $url .
Time of Update: 2016-06-07
ThinkPHP實現大量刪除資料原理很簡單,只需在模板頁面裡面寫上這樣傳過來就是一個數組,action的刪除函數del()如下:/****刪除函數支援刪除多條和一個**/function del(){ //dump($_GET['id']); //$name = strtolower($_GET['_URL_'][0]); //擷取當前模組名 $name = $this->getActionName(); $model = D($name);//擷取當期模組的操作對象 $id = $_
Time of Update: 2016-06-07
PHP 的Hash演算法是比較常用的,現在的MD5有時候不太安全,就得用到Hash_algos()中的其它演算法,下面進行了一個效能的比較。php代碼:define('testtime', 50000);$algos = hash_algos();foreach($algos as $algo) {$st = microtime();for($i = 0; $i 0.14577506593323 [crc32] => 0.14600901216125 [adler32] => 0.1476
Time of Update: 2016-06-07
CodeIgniter架構自身提供了一些安全設定如針對XSS和CSRF攻擊的防範,針對SQL注入攻擊的防範等。就設定檔而言:在application/config/config.php中$config['encryption_key'] = '';//這個一定要設定 以加密自己的cookie等$config['cookie_secure'] = TRUE;//設定為TRUE/*|-----------------------------------------------------------
Time of Update: 2016-06-07
因為想做一個往測試伺服器傳檔案的需求,看到PHP支援ssh操作,所以整理了下安裝過程,與大家分享下。安裝步驟1. 下載 php extension ssh2下載地址 http://windows.php.net/downloads/pecl/releases/ssh2/0.12/根據自己PHP的版本去下載,我使用的是安全執行緒的,所以下載的是php_ssh2-0.12-5.4-ts-vc9-x86.zip2.
Time of Update: 2016-06-07
range協議用途:一般是用在斷點續傳的時候,但是實際的使用者很大,例如你的web server需要輸出一個大檔案,那麼用range可以分段輸出,緩解壓力。同時在提供音樂視頻等服務時可以緩衝下載,如果使用者中途關閉,可以節約網路頻寬。range協議官方文檔:http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
Time of Update: 2016-06-07
第一種方法:使用insert into 插入,代碼如下:$params = array(‘value'=>'50′);set_time_limit(0);echo date(“H:i:s”);for($i=0;$iinsert($params);};echo date(“H:i:s”);最後顯示為:23:25:05 01:32:05 也就是花了2個小時多!第二種方法:使用事務提交,批量插入資料庫(每隔10W條提交下)最後顯示消耗的時間為:22:56:13 23:04:00 ,一共8分13秒 ,
Time of Update: 2016-06-07
今天閑來無事,想在部落格統計中顯示線上人數。在網上找了好多例子,不是資料庫儲存資料就是檔案儲存體,代碼也看起來過於複雜。晚上回來後,構思了下,看到我伺服器中安裝有 Memcache 服務,何不用 Memcache 實現呢。下面就來講下實現過程::實現代碼:connect ( "127.0.0.1", 11211 );// 擷取 線上使用者 IP 和 線上時間資料$online_members = $mc->get ( 'online_members' );// 如果為空白,初始化資料if (!
Time of Update: 2016-06-07
控制view檔案夾路徑的代碼:system/core/loader.phppublic function add_package_path($path, $view_cascade=TRUE){$path = rtrim($path, '/').'/';array_unshift($this->_ci_library_paths, $path);array_unshift($this->_ci_model_paths,
Time of Update: 2016-06-07
以前寫過一篇博文,利用 PHP 和 Memcache 實現網站,以下連結查看:http://www.php.net/article/51825.htm今天就把該功能用到 wordpress 中,並實現把訪問次數儲存到資料庫中。MySQL 陳述式首先在參數表中,添加訪問次數的預設資料// 擷取所有瀏覽次數function get_all_visit_number(){ $mc = new Memcache (); // 使用wordpress內建wpdb類 global $wpdb; //
Time of Update: 2016-06-07
1. __construct()和__destruct()在執行個體被 建立/銷毀 的時候被調用,都可以傳遞0個或多個參數。class A { function A() { echo "build A"; } function __destruct() { echo "destroy A"; } } $obj = new A(); //unset($obj);Note:The destructor method will be called as soon as there
Time of Update: 2016-06-07
一、數組遍曆的3個方法介紹1. foreach()foreach()是一個用來遍曆數組中資料的最簡單有效方法。#example1:複製代碼 代碼如下:$colors= array('red','blue','green','yellow');foreach ($colorsas$color){echo "Do you like $color? ";}?>顯示結果:Do you like red? Do you like blue? Do you like
Time of Update: 2016-06-07
也許fsockopen、pfsockopen函數的確存在著安全的隱患,但是我們卻已經無從考證,這都是IDC商說的,不管是什麼原因吧,反正他們是把這兩個函數禁用了,那麼如何解決呢,下面是小編整理的方法,希望對用到的同學有一定的參考。解決方案如下:一、使用stream_socket_client()替代伺服器同時禁用了fsockopen、pfsockopen,那麼用其他函數代替,如stream_socket_client()。注意:stream_socket_client()和fsockopen()
Time of Update: 2016-06-07
PHP的CURL正常抓取頁面程式如下:$url = 'http://www.baidu.com';$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_HEADER, true);curl_setopt($ch, CURLOPT_NOBODY, true);curl_setopt($ch,
Time of Update: 2016-06-07
redis的操作很多的,以前看到一個比較全的部落格,但是現在找不到了。查個東西搜半天,下面整理一下php處理redis的例子,個人覺得常用一些例子。下面的例子都是基於php-redis這個擴充的。1,connect描述:執行個體串連到一個Redis.參數:host: string,port: int傳回值:BOOL 成功返回:TRUE;失敗返回:FALSE樣本:複製代碼 代碼如下:$redis = new redis(); $result = $redis->connect('127.0.0.
Time of Update: 2016-06-07
短網址服務,可能很多朋友都已經不再陌生,現在大部分微博、手機寄件提醒等地方已經有很多應用模式了,並佔據了一定的市場。估計很多朋友現在也正在使用。 看過新浪的短串連服務,發現後面主要有6個字串組成。太多演算法的東西,也沒必要去探討太多,最主要的還是實現,下面是三種方法的代碼:> 5; } $output[] = $out; } return $output; } $a=shorturl("http://www.php.net");print_r($a);//62 位產生方法
Time of Update: 2016-06-07
需求:1、執行指令碼後,想去的同學輸入英文名字全拼,產生隨機數01-99之間的數字,數字越大就去參加項目實踐,前面已經抓到的數字,下次不能在出現相同數字。2、第一個輸入名字後,螢幕輸出資訊,並將名字和數字記錄到檔案裡,程式不能退出繼續等待別的學生輸入。實現代碼(請在命令列執行,而非WEB環境):$v) { fwrite($handle, $k.' '.$v."\r\n");}// 關閉檔案fclose($handle);/*** 擷取命令列輸入值* @param string $length*
Time of Update: 2016-06-07
在PHP擷取用戶端IP中常使用 $_SERVER["REMOTE_ADDR"] 。(1) 但如果用戶端是使用Proxy 伺服器來訪問,那取到的是Proxy 伺服器的 IP 位址,而不是真正的用戶端 IP 位址。要想透過Proxy 伺服器取得用戶端的真實 IP 位址,就要使用 $_SERVER["HTTP_X_FORWARDED_FOR"] 來讀取。(2) 但只有用戶端使用“透明代理”的情況下,$_SERVER["HTTP_X_FORWARDED_FOR"]