Time of Update: 2017-01-19
PHP CURL session COOKIE 可以調用系統命令,還可以這樣: 複製代碼 代碼如下: function dirsize($dir) { @$dh = opendir($dir); $size = 0; while ($file = @readdir($dh)) { if ($file != "." and $file != "..") { $path = $dir."/".$file; if (is_dir($path)) { $size += dirsize($path); }
Time of Update: 2017-01-19
迷上了正則,不斷嘗試著新花招,首先感謝TNA 的非完全輸出RSS,然後再次感謝SH的強迫性學習。沒有TNA,我不會去看正則,更不知道世界上有種這麼牛的運算式;不是SH的死活說他不懂不知道,我也不會硬著頭皮去琢磨,去改進。達到同一個目的,正則的表達方式可以不唯一,沒有做不到,只有你沒想到。可以這樣說吧,正則就是玩設定規律,我大愛這種東西。沒有比設定規律篩選東西更讓我興奮、感到awesome的了。分享一下在php環境下使用正則提取圖片地址的一些小心得:圖片網址規範的html代碼無非就是複製代碼
Time of Update: 2017-01-19
有25幅作品拿去投票,一次投票需要選16幅,單個作品一次投票只能選擇一次。前面有個程式員捅了漏子,忘了把投票入庫,有200個使用者產生的投票序列為空白。那麼你會如何填補這個漏子?當然向上級反映情況。但是我們這裡討論的是技術,就是需要產生1-25之間的16個不重複的隨機數,去填補。具體怎麼設計函數呢?將隨機數存入數組,再在數組中去除重複的值,即可產生一定數量的不重複隨機數。程式如下:複製代碼 代碼如下:<?php/** array unique_rand( int $min, int
Time of Update: 2017-01-19
複製代碼 代碼如下: <?php header ("Content-type: image/png"); $conn = MYSQL_connect("localhost", "root", ""); //串連資料庫 $colname_rs_article = $_GET['id']; //擷取參數id mysql_select_db("cms", $conn); //執行SQL $query_rs_article = sprintf("SELECT * FROM articles
Time of Update: 2017-01-19
複製代碼 代碼如下: <?php ini_set("memory_limit", "50M");//必須的,根據你環境的實際情況盡量大,防止報錯 ini_set("max_execution_time", "100"); //file_exists() 函數檢查檔案或目錄是否存在,存在則返回 true,否則返回 false。 //fread() 函數讀取檔案(可安全用於二進位檔案)。fread() 從檔案指標 file 讀取最多 length 個位元組。 //filesize()
Time of Update: 2017-01-19
這段時間修改了一下我們系統的登陸功能,為了更加安全,增加了發送郵件驗證功能。當使用者登陸的時候判斷登陸ip是否是之前登陸過的,如果不是的話,需要向郵箱裡發送驗證碼,然後把收到的驗證碼輸入再登陸,如果驗證碼正確並且時間沒有超過規定時間,可以登陸,並且記下此次登陸的ip和時間,以後再以此ip登的話,就不用驗證了。如果時間超過了,驗證碼失效,需重新發送。驗證錯誤不能登陸,需重新輸驗證碼,或在發送新的驗證碼到郵箱。為了實現此功能,我用到了如何向郵箱發送郵件,以及擷取登陸ip的知識。下面整理一下,以便以後
Time of Update: 2017-01-19
靜態變數只存在於函數範圍內,靜態變數只存活在棧中。一般的函數內變數在函數結束後會釋放,比如局部變數,但是靜態變數卻不會。下次再調用這個函數的時候,該變數的值會保留下來。 靜態變數的基本用法 1. 在類中定義靜態變數 [存取修飾詞] static $變數名; 2. 如何訪問靜態變數 如果在類中訪問 有兩種方法 self::$靜態變數名 , 類名::$靜態變數名 如果在類外訪問: 有一種方法 類名::$靜態變數名 例子 複製代碼 代碼如下: class Child{ public $name; //
Time of Update: 2017-01-19
複製代碼 代碼如下:<?php/** * Database Backup還原類 * @author xialeistudio<admin@xialeistudio.net> * Class DatabaseTool */class DatabaseTool{ private $handler; private $config = array( 'host' =>
Time of Update: 2017-01-19
複製代碼 代碼如下: $file=fopen("11.txt","r")or exit("Unable to open file!");//fopen開啟檔案,如果不存在就顯示打不開。 $filesize =filesize("11.txt");//計算檔案大小 echo fread($file,$filesize);//讀取檔案 fclose($file);//關閉檔案 fopen()開啟檔案例子,
Time of Update: 2017-01-19
函數代碼:複製代碼 代碼如下://php 批量過濾post,get敏感性資料 if (get_magic_quotes_gpc()) { $_GET = stripslashes_array($_GET); $_POST = stripslashes_array($_POST); } function stripslashes_array(&$array) { while(list($key,$var) = each($array)) { if ($key != 'argc' && $key !
Time of Update: 2017-01-19
複製代碼 代碼如下: //通常用於定製服務的時候使用,比如包月會員,包年等等 //擷取目前時間過一個月的時間,以DATETIME格式顯示 date('Y-m-d H:i:s',strtotime('+1 month')) //擷取目前時間過一個月的時間,以時間戳記格式顯示 strtotime(date('Y-m-d H:i:s',strtotime('+1 month'))) //以下是年,月,周,天,時,分秒的用法 date("Y-m-d H:i:s", strtotime(" +2
Time of Update: 2017-01-19
複製代碼 代碼如下: <?php set_time_limit(0); function tree($directory) { $mydir=dir($directory); echo "<ul> "; while($file=$mydir->read()){ if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")) { echo "<li><font color='#ff00
Time of Update: 2017-01-19
在foreach中迴圈查詢資料代碼量比較少,但是效能比較低,好點的解決辦法是將id收集起來,用in一次性查詢,但是這引發了資料結構不是我們用PHP內建的函數可以合并的,今天測試了一下: 使用下面的位元組寫的函數可以解決 從資料庫中取出來的資料總是或多或少不符合我們心目中的資料結構,類似於下面的倆個數組,要形成SQL中類似於left join後兩個數組合并: 複製代碼 代碼如下: $test1 = Array( 0 => Array( 'id' => 9478137, 'create_
Time of Update: 2017-01-19
在通常情況下,我們使用 CURL 來提交 POST 資料的時候,我們已經習慣了這樣的寫法:複製代碼 代碼如下:curl_setopt( $ch, CURLOPT_POSTFIELDS,$post_data);但是這樣的寫法在有時候並不會很好用,可能會得到伺服器返回的 500 錯誤。但是我們嘗試在使用 Socket 方式向伺服器提交資料的時候,我們會得到非常正確的結果。例如我們在伺服器上面存在一個如下的 PHP 檔案:複製代碼 代碼如下:<?php
Time of Update: 2017-01-19
PHP中變數的範圍可以分為:超全域(全域變數的特殊類型,在局部範圍裡可直接使用),全域,局部,靜態(是局部變數的特殊類型)在PHP中,全域變數實際上是靜態全域變數,如果不用unset顯式的釋放,那麼等指令碼運行結束全域變數才會被釋放掉局部靜態變數細分可以是 局部靜態函數變數(函數中聲明的static變數),局部靜態成員變數(類中聲明的 static
Time of Update: 2017-01-19
一、檔案系統安全php如果具有root許可權,且在指令碼中允許使用者刪除檔案,那麼使用者提交資料,不進行過濾,就非常有可能刪除系統檔案<?php// 從使用者目錄中刪除指定的檔案$username = $_POST['user_submitted_name'];$userfile = $_POST['user_submitted_filename'];$homedir = "/home/$username";unlink ("$homedir/$userfile");echo "The
Time of Update: 2017-01-19
折騰VPS的朋友,在安裝好LNMP等Web運行環境後都會選擇一些緩衝擴充安裝以提高PHP運行速度,常被人介紹的有eAccelerator、memcached、xcache、Alternative PHP
Time of Update: 2017-01-19
ob的基本原則:如果ob緩衝開啟,則echo的資料首先放在ob緩衝。如果是header資訊,直接放在程式緩衝。當頁面執行到最後,會把ob緩衝的資料放到程式緩衝,然後依次返回給瀏覽器。下面我說說ob的基本作用: 1)防止在瀏覽器有輸出之後再使用setcookie()、header()或session_start()等發送標頭檔的函數造成的錯誤。其實這樣的用法少用為好,養成良好的代碼習慣。
Time of Update: 2017-01-19
複製代碼 代碼如下:<?php /********************************************** * __construct 對象初始化函數使用 * destruct 解構函式的使用 * $this
Time of Update: 2017-01-19
1.首先是要安裝好PHP2.進入PHP的下載解壓目錄下的ext目錄#cd /root/php-5.3.6/ext#./ext_skel --extname=hmc說明:./ext_skel