關於排序一般我們都是通過資料庫或者nosql(eg:redis)先排好序然後輸出到程式裡直接使用,但是有些時候我們需要通過PHP直接來對數組進行排序,而在PHP裡儲存資料用到最多的就是對象和數組,但處理較多的就是數組,因為有非常豐富的內建函數庫(其實對象一定程度上也可以理解為是數組),這些函數庫很大程度上可以協助我們實現某些功能。常用的系統函數有sort、asort、arsort、ksort、krsort等等,這裡我主要說下對二維數組的排序,兩種方法:一、用PHP內建array_multisor
第一步,擷取座標";// Google HQ$prepAddr = str_replace(' ','+',$address);$geocode=file_get_contents('http://maps.google.com/maps/api/geocode/json?address='.$prepAddr.'&sensor=false');$output= json_decode($geocode);$lat =
根據網上有朋友介紹說原因可能是伺服器開了GZIP壓縮。下面是用firebug查看我的部落格的頭資訊,Gzip是開了的。要求標頭資訊原始頭資訊 代碼如下 複製代碼 Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Encoding gzip, deflateAccept-Language zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3Connection
PHP內建了一個php_strip_whitespace方法用於讀取php檔案並去除代碼中的空白和注釋,但不支援直接讀取內容去除空白和注釋,下面的方法則可以支援讀取字串內容,並且ThinkPHP架構內建了該方法。 /** * 去除代碼中的空白和注釋 * @param string $content 代碼內容 * @return string */ function strip_whitespace($content) { $stripStr = ''; //分析php源碼
工作一年,收穫了很多,慢慢做些總結,提升工作效率,工作中mysql使用的時間是一個UNIX時間戳記:從1970年1月1日0點開始到目前時間的秒數,由於是int類型,很方便的適用於電腦處理,不僅僅是php和mysql的資料互動的一種格式,在各種用戶端,也是資料互動的標準(android/IOS)等,因此如果只是儲存和顯示日期的時候,應該使用UNIX時間戳記來計算日期和做為標準的日期格式。工作中常用的流程是:將HTML頁面的時間轉化為時間戳記儲存到mysql中,從mysq
Q 1 錯誤提示: Warning: Cannot send session cookie - headers already sent Warning: Cannot send session cache limiter - headers already sent
有這麼一個需求,指定日期是12月12日,在12月12號前我要執行A事件,在其後要執行B事件,怎樣判斷今天是在12月12日的前還是後? 程式如下: $month) || ($thismonth == $month && $thisday > $day) || $thisyear > $year) {echo '已經過了';} elseif ($thismonth == $month && $thisday == $day && $thisyear == $year) {echo
完美實現PHP寫入,讀取,替換檔案內容。先解釋一下,主要用到: fopen("檔案名稱.副檔名","操作方式") fwrite(讀取的檔案,"寫入的檔案"); fclose(開啟的物件變數); //寫入檔案$str="This is a test from www.bkjia.comn"; //
1:開啟phpmailer 核心檔案 class.phpmailer.php , 將 public $CharSet = ‘iso-8859-1′; 改為 public $CharSet = ‘UTF-8′;至於為什麼要將'iso-8859-1′改為‘UTF-8',請google或百度一下'iso-8859-1′就清楚。2:設定郵件的編碼;複製代碼 代碼如下:$mail = new PHPMailer();$mail->Charset='UTF-8′;相信有不少朋友是設定成”GBK”或“GB23
要判斷用戶端是否使用Proxy 伺服器,可以從用戶端所發送的環境變數資訊來判斷。具體來說,就是看HTTP_VIA欄位,如果這個欄位設定了,說明用戶端使用了Proxy 伺服器。匿名層級可以參考下表來判斷。給出一個應用例子,可以掛上代理試試效果: http://ip.mixsec.org/一、沒有使用Proxy 伺服器的情況: REMOTE_ADDR = 您的 IP HTTP_VIA = 沒數值或不顯示 HTTP_X_FORWARDED_FOR =
現在的互連網環境越來越嚴峻,安全,一直是程式開發人員及站長的一個不可忽視的問題,如何選擇一個易用、安全的程式,如何搭建一個安全的伺服器環境,一直是廣大站長迫切希望瞭解的,本篇結合伺服器及DedeCms來進行一個安全使用的環境配置。1、目錄許可權我們不建議使用者把欄目目錄設定在根目錄,原因是這樣進行安全設定會十分的麻煩,在預設的情況下,安裝完成後,目錄設定如下:(1) data、templets、uploads、a或5.3的html目錄,設定可讀寫,不可執行檔許可權;(2)
自己用php寫的產生會員帳號功能,僅供參考,代碼如下:function get_number($table,$filed){if(!isset($table) || !isset($filed)){return '';}if(trim($table)=='' || trim($filed)==''){return '';}global $db;$user_number=str_shuffle(substr(randomname(-5),11));$sql="select `id` from `"
PHP使用php_imagick_st-Q8.dll類庫,把JPG圖片串連產生GIF動畫圖片,需要事先下載好php_imagick_st-Q8.dll,檔案,並配置php.ini檔案,啟用php_imagick_st-Q8.dll。配置方法如下: 1、將下載的php_imagick_st-Q8.dll檔案放到PHP預設的擴充目錄,也就是:php/ext/目錄內; 2、開啟php.ini,在extension地區新加入此行,注意前面不要有“;” extension
直接上代碼:複製代碼 代碼如下: /*返回一個302地址*/ function curl_post_302($url, $vars) { $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1
PHPExcel處理Excel檔真是個強大的工具,我有張報表,帶餅圖,需要轉成Excel, PHPExcel有一個相關的例子,參考並修改後實現了這個效果,可以讓使用者在點擊下載過程中產生和下載Excel檔,並在Excel中檔產生餅圖。對其例子主要做了兩方面的修改:1. 改成從MySQL資料庫取資料 2. 加上了中文檔案名稱在部份瀏覽器,如IE下,下載時名字亂碼的解決方案.PHP報表如下:轉成xls的:
問題描述:如果使用者輸入的資料在未經處理的情況下插入到一條SQL查詢語句,那麼應用將很可能遭受到SQL注入攻擊,正如下面的例子:$unsafe_variable = $_POST['user_input']; mysql_query("INSERT INTO `table` (`column`) VALUES ('" . $unsafe_variable . "')"); 因為使用者的輸入可能是這樣的:value'); DROP TABLE table;--
項目用到臨時寫的。待完善:複製代碼 代碼如下:/* * 根據使用者提交的(swf/html)地址,擷取優酷,馬鈴薯的swf播放地址 * */ private function _getSwf ($url = '') { if(isset($url) && !empty($url)){ preg_match_all('/http:\/\/(.*?)?\.(.*?)?\.com\/(.*)/',$url,$types);
仔細的研究了一下,原來用php寫的解壓程式效率比想象的還是高很多的,既然這麼好,乾脆再最佳化一下後用到自己後台中,雖然現在大部分空間的控制台中有壓縮和解壓這個功能,但是畢竟有時候有些麻煩。做這個之前,沒有接觸過php壓縮這一塊,網上搜了一些,大多數都是php壓縮類、壓縮函數,少則幾百行,多的就幾千行代碼。這對於我這種新手來說很摸不到頭腦,再說我也不用這麼複雜的功能。最後參考函數手冊,理清楚了幾個相關的函數後,就明白了怎麼去整了。記得要開啟 zip ,把 php.ini 中的 extension=
直到最近,要做一個網頁小偷程式的時候才發現file_get_content已經完全不能滿足需求了。我覺得,在讀取遠程內容的時候,file_get_content除了使用比curl便捷以外,其他都沒有curl好。主要區別:學習才發現,curl支援很多協議,有FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT,
為了實現整合,上網找了很多資料!嘗試了很多次,終於成功整合了!下面我就把整合過程分享給大家,希望能給以後有需要的人提供協助。準備工作:1、VertrigoServ 2.23 下載地址:http://sourceforge.net/projects/vertrigo/files/VertrigoServ/2.23/Vertrigo_223.exe/download2、Tomcat 6.0.18 下載地址:http://down.51cto.com/data/149175/ 3、JDK