Time of Update: 2016-07-13
可能會有不少朋友碰到一些問題就是上傳檔案時如果是英文倒好原文名不會有問題,如果是中文可能就會出現亂碼了,今天我來給大家總結一下導致亂碼php上傳檔案中文檔案名稱亂碼的原因與解決辦法吧。這幾天在windows下安裝了XAMPP,準備初步學習一下php的相關內容。這幾天接觸到了php上傳檔案,但是出現了一個鬱悶問題,我準備上傳一個excel檔案,但是如果檔案名稱是中文名就會報錯。一來二去很是鬱悶,後來仔細想了想應該是檔案編碼的問題,我寫的php檔案使用的是UTF-8編碼,如果沒有猜錯APACHE處理
Time of Update: 2016-07-13
1、如果能將類的方法定義成static,就盡量定義成static,它的速度會提升將近4倍。2、$row['id'] 的速度是$row[id]的7倍。3、echo 比 print 快,並且使用echo的多重參數(譯註:指用逗號而不是句點)代替字串串連,比如echo $str1,$str2。4、在執行for迴圈之前確定最大迴圈數,不要每迴圈一次都計算最大值,最好運用foreach代替。5、登出那些不用的變數尤其是大數組,以便釋放記憶體。6、盡量避免使用__get,__set,__autoload。7
Time of Update: 2016-07-13
PR值是google衡量網站的重要標準之一,根據google提供的結果擷取pr值,如:http://toolbarqueries.google.com.hk/tbr?client=navclient-auto&features=Rank:&q=info:phpddt.com&ch=8fabc62ea複製代碼 代碼如下:/**功能:對URL進行編碼*參數說明:$web_url 網站URL,不包含"http://"*/function HashURL($url){ $SEED =
Time of Update: 2016-07-13
我們在很多網站會看到一些圖形的百分比顯示圖,像三個地區所佔地多少或者是成績等,給大家介紹一款用php產生的扇形比例百分比顯示程式碼,不過使用它首先得有phpGD庫支援。複製代碼 代碼如下://填充圖表的參數$ChartDiameter = 60; //圖表直徑$ChartData = array(30,70);//用於組建圖表的資料,可通過資料庫來取得來確定也可以多個不過和顏色數組對應//把角度轉換為弧度function
Time of Update: 2016-07-13
1. 截取整個螢幕 Screenshot複製代碼 代碼如下:$im = imagegrabscreen(); imagepng($im, “myscreenshot.png”); ?> 2. 截取一個視窗 Capture a window (IE for example)複製代碼 代碼如下:$browser = new COM(“InternetExplorer.Application”); $handle = $browser->HWND;
Time of Update: 2016-07-13
想不讓某個IP訪問網站,可以封他的IP,下面就提供這個方法。看下面的代碼。複製代碼 代碼如下:function get_ip_data(){ $ip=file_get_contents("http://ip.taobao.com/service/getIpInfo.php?ip=".get_client_ip()); $ip = json_decode($ip); if($ip->code){ return false; } $data =
Time of Update: 2016-07-13
一般的方案會是:複製代碼 代碼如下:$fp = fopen("/tmp/lock.txt", "w+");if (flock($fp, LOCK_EX)) { fwrite($fp, "Write something heren"); flock($fp, LOCK_UN);} else { echo "Couldn't lock the file !";}fclose($fp);
Time of Update: 2016-07-13
網上的方法有不少,都是一樣的原理,按照需求,做了一下版本的class類檔案,主要功能是:功能明確,易於修改維護和擴充; 英文的字串:不變返回(包括數字);中文字串:返回拼音首字元; 中英混合串: 返回拼音首字元和英文。該演算法採用了二分法尋找,修複了之前字母Z讀取成Y的錯誤。好東西要收藏,故在此留下印記,以供後人考證!複製代碼 代碼如下: /*** Modified by http://iulog.com @ 2013-05-07* 修複二分法尋找方法* 漢字拼音首字母工具類* 註:
Time of Update: 2016-07-13
用PHP的ob_start();控制您的瀏覽器cacheOutput Control 函數可以讓你自由控制指令碼中資料的輸出。它非常地有用,特別是對於:當你想在資料已經輸出後,再輸出檔案頭的情況。輸出控制函數不對使用 header() 或 setcookie(), 發送的檔案頭資訊產生影響,只對那些類似於 echo() 和 PHP 代碼的資料區塊有作用。我們先舉一個簡單的例子,讓大家對Output Control有一個大致的印象:Example 1.程式碼複製代碼 代碼如下:ob_start()
Time of Update: 2016-07-13
統計圖形就我們會常到的資料圖形了,如果三個數組以圖形顯示或樓盤以圖形走向我們都會要用到圖形,下面我來介紹一個php LIbchart圖形產生類吧,很用的有需要的朋友可參考。簡單全數字或英文的就可以直接使用下面類了(libchart類大家可自行百度下載)複製代碼 代碼如下: /* update by Leo It's draw the pic of Sheet,and it will take all the num on the pic. */ require
Time of Update: 2016-07-13
1. get_defined_vars (PHP 4 >= 4.0.4, PHP 5) — 擷取由所有已定義變數所組成的數組array get_defined_vars ( void )此函數返回一個包含所有已定義變數列表的多維陣列,這些變數包括環境變數、伺服器變數和使用者定義的變數。複製代碼 代碼如下:echo '';$b = array(1,1,2,3,5,8);$arr = get_defined_vars();// 列印 $bprint_r($arr["b"]);//
Time of Update: 2016-07-13
從學習PHP基礎知識到使用ZendSudio工具開發有半年多了,這過程中,學習斷斷續續,遇到的問題也是N多,學習PHP還真是不讓人省心。最不省心的還是算調試過程。學習編程,一定要懂得調試,否則就如同盲人摸象,理不清這裡面的運行機制。也許是因為自己非科班出來,或是領悟力不足,又或本身xdebug工具本身設定較為複雜,導致我對Zendstudio的調試過程充滿了步步驚心。我使用的是XAMPP的整合開發平台環境。裡面已經預設了Xdebug的調試工具,只需要自己改下配置的就可以了。我的開發模式是,在虛擬
Time of Update: 2016-07-13
用ZipArchive壓縮檔,這個是php的擴充類,自php5.2版本以後就已經支援這個擴充,如果你在使用的時候出現錯誤,查看下php.ini裡面的extension=php_zip.dll前面的分號有沒有去掉,然後再重啟Apache這樣才能使用這個類庫。例1、產生zip 壓縮檔複製代碼 代碼如下:/* 產生zip 壓縮檔 */function create_zip($files = array(),$destination = '',$overwrite = false) {
Time of Update: 2016-07-13
PHP setcookie() 函數向用戶端發送一個 HTTP cookie。cookie 是由伺服器發送到瀏覽器的變數。cookie 通常是伺服器嵌入到使用者電腦中的小文字檔。每當電腦通過瀏覽器請求一個頁面,就會發送這個 cookie。cookie 的名稱指定為相同名稱的變數。例如,如果被發送的 cookie 名為 "name",會自動建立名為 $user 的變數,包含 cookie 的值。必須在任何其他輸出發送前對 cookie 進行賦值。如果成功,則該函數返回 true,否則返回
Time of Update: 2016-07-13
最簡單的數組合并我們只要使用array_merge即可array_merge()將兩個或多個數組的單元合并起來,一個數組中的值附加在前一個數組的後面。返回作為結果的數組。數組鍵名為數字鍵名時,要合并的兩個數組中有同名數字KEY的時候,使用array_merge()不會覆蓋掉原來的值,而使用“+”合并數組則會把最先出現的值作為最終結果返回,而把後面的數組擁有相同鍵名的那些值“拋棄”掉(注意:不是覆蓋而是保留最先出現的那個值)。例子:複製代碼 代碼如下: $array1 = array(1=>'0
Time of Update: 2016-07-13
PHP各種過濾字元函數複製代碼 代碼如下: /** * 安全過濾函數 * * @param $string * @return string */ function safe_replace($string) { $string = str_replace('%20','',$string); $string = str_replace('%27','',$string); $string = str_replace('%2527
Time of Update: 2016-07-13
我們首先討論password_hash()函數。這將用作建立一個新的密碼的雜湊值。它包含三個參數:密碼、雜湊演算法、選項。前兩項為必須的。你可以根據下面的例子來使用這個函數:複製代碼 代碼如下:$password = 'foo';$hash =
Time of Update: 2016-07-13
看代碼,再做解釋複製代碼 代碼如下:$array=array('a','b','c','d'); foreach($array as $key=>$val){ //do something } echo $val;//輸出d echo $kay;//輸出3 $val='e'; print_r($array);//輸出Array ( [0] => a [1] => b [2] => c [3] => d ) ?>
Time of Update: 2016-07-13
在php中漢字正則可能有些朋友覺得很簡單,但是在使用時會發現在gbk編碼與uft8編碼可能會有點區別哦,下面小編來介紹一下。gbk編碼下漢字正則1.判斷字串是否全是漢字複製代碼 代碼如下: $str = '全部是漢字測試'; if (preg_match_all("/^([x81-xfe][x40-xfe])+$/", $str, $match)) { echo '全部是漢字'; } else { echo '不全是漢字'; }?>
Time of Update: 2016-07-13
PHP中提供了Autoload來協助我們方便的進行檔案的包含,但是autoload並非想象的那樣能夠處理所有的情況,今天就來記錄一下前幾天遇到的autoload存在的一些問題。為什麼要使用 Autoload在PHP中使用類時,我們必須在使用前載入進來,不管是通過 require 的方式還是 include