Time of Update: 2017-01-19
這道題其實並不難,考點主要在函數substr() strrchr() array_pop() strrpos() strpos() strrev() explode() pathinfo()。廢話不多說了,直接給大家貼代碼了。擷取檔案尾碼,遍曆目錄層次/*** 5種方式擷取檔案尾碼名* 這道題其實就是考函數substr() strrchr() array_pop() strrpos() strpos() strrev() explode() pathinfo(
Time of Update: 2017-01-19
引言今天在教別人使用protobuf的時候,無意中發現了一個php cli模式下的詭異問題,費了老半天的找到解決方案了,這裡拿出來分享下。問題描述我們這邊最先引入了protobuf協議,使用的是allegro/php-protobuf這個擴充安裝的。這幾天其他同事也要用到這個,於是我將protobuf產生php類庫檔案的部分放到了一個公用的位置/data/php_proto/檔案夾下,裡面有這些內容,drwsrwxr-x 2 yanruitao users 4096 10月 14 17:05
Time of Update: 2017-01-19
無限級分類,主要是通過儲存上級分類的id以及分類路徑來實現在我的Simpla中,用到了無限分類,使用了PHP的傳引用思想實現無限分類的方法,可以完美展示類似這樣的分類模式。id pid name1 0 四川2 0 重慶3 1
Time of Update: 2017-01-19
session刪除清空是很講究了如果我們定義好可以清除指定變數否則不小心會把所有session都清除掉了,下面我們來看一些總結。第一種方式:unset($_SESSION['xxx']) 刪除單個session,unset($_SESSION['xxx']) 用來unregister一個登入的session變數。其作用和session_unregister()相同。session_unregister()在PHP5中已經廢棄。 php
Time of Update: 2017-01-19
複製代碼 代碼如下: function getCloud( $data = array(), $minFontSize = 12, $maxFontSize = 30 ) { $minimumCount = min( array_values( $data ) ); $maximumCount = max( array_values( $data ) ); $spread = $maximumCount - $minimumCount; $cloudHTML = ''; $cloudTags =
Time of Update: 2017-01-19
jPaginate是基於jQuery的動感滾動分頁外掛程式,它的表現形式是像分頁的按鈕一樣,非常有意思的是這些按鈕卻可以滾動,可以通過單擊或滑鼠滑向點兩側的小箭頭來控制按鈕的前後滾動。 調用jPaginate外掛程式的方法很簡單:$(elementID).paginate() 屬性設定可喜的是,jPaginate提供了很多屬性配置,您可以輕易的定製想要的分頁效果。設定方法如:$(elementID).paginate({ count:80, start:1, .
Time of Update: 2017-01-19
本文章來給大家介紹一個jQuery+Ajax+PHP實現“喜歡”評級功能代碼,使用者點擊頁面中自己喜歡的圖片上的心型裝飾按鈕時,前端頁面向後台發送一個ajax請求,後台PHP程式接收請求後,查詢IP庫中是否已經有該使用者的點擊記錄,如果沒有,則將對應的數值+1,同時將該使用者IP資訊寫入IP庫,反之則告訴使用者已經“喜歡過了”。資料庫設計先準備兩張表,pic表儲存的是圖片資訊,包括圖片對應的名稱、路徑以及圖片“喜歡”總數,pic_ip則記錄使用者點擊喜歡後的IP資料。CREATE TABLE
Time of Update: 2017-01-19
1.不轉意html entities 一個基本的常識:所有不可信任的輸入(特別是使用者從form中提交的資料) ,輸出之前都要轉意。 echo $_GET['usename'] ; 這個例子有可能輸出: <script>/*更改admin密碼的指令碼或設定cookie的指令碼*/</script> 這是一個明顯的安全隱患,除非你保證你的使用者都正確的輸入。 如何修複 : 我們需要將"< ",">","and" 等轉換成正確的HTML表示(< , >
Time of Update: 2017-01-19
抽獎演算法需要滿足的需求如下:1.可以控制中獎的機率2.具有隨機性3.最好可以控制獎品的數量4.根據使用者ID或者ip、手機號、QQ號等條件限制抽獎次數初期就這些需求,然後根據網上的資料,採用了一種階段式抽取的方法,大家下面看一下整體的程式:該程式是在ThinkPHP架構下完成的,使用了一些架構內建的類庫和函數,下面我會逐一進行說明,控制器部分:代碼如下<?php /** * * * @lanfengye <zibin_5257@163.com> */class
Time of Update: 2017-01-19
1.php中用smarty模板產生的html在瀏覽器中頂部有一空行. 2.用firedebug發現 meta和link標記在body標籤裡. 本機上wmap運行沒事, 送到遠程伺服器上是IASP的服務, 會出現上述bug. 看了下源檔案, 文本一樣的. 但儲存時提示編碼問題.估計是utf-8問題了. 在網上找了下, 是utf-8 BOM問題. 解決方案:
Time of Update: 2017-01-19
基本的工廠類 複製代碼 代碼如下: class MyObject{ //對象將從工廠返回 } class MyFactory{ public static function factory(){ return new MyObject(): } } $instance=MyFactory::factory(); 使用工廠類解析影像檔 複製代碼 代碼如下: <?php interface IImage{ function getHeight(); function getWidth();
Time of Update: 2017-01-19
複製代碼 代碼如下: // $rptype = 0 表示僅替換 html標記 // $rptype = 1 表示替換 html標記同時去除連續空白字元 // $rptype = 2 表示替換 html標記同時去除所有空白字元 // $rptype = -1 表示僅替換 html危險的標記 function HtmlReplace($str,$rptype=0) { $str = stripslashes($str); if($rptype==0) { $str =
Time of Update: 2017-01-19
在PHP中數組分為兩類: 數字索引數組和關聯陣列。 其中數字索引數組和C語言中的數組一樣,下標是為0,1,2… 而關聯陣列下標可能是任意類型,與其它語言中的hash,map等結構相似。 下面介紹PHP中遍曆關聯陣列的三種方法: 方法1:foreach 複製代碼 代碼如下: <?php $sports = array( 'football' => 'good', 'swimming' => 'very well', 'running' => 'not good');
Time of Update: 2017-01-19
extract()函數文法: int extract( array $var_array [, int $extract_type = EXTR_OVERWRITE [, string $prefix ]] ) 功能: extract()函數提取關聯陣列(對數字索引數組無效)每對key和value,產生以key為變數名、value為對應值的多組新變數。 複製代碼 代碼如下: <?php $size = "old size"; //注意最後size變數的值。 $a = array(
Time of Update: 2017-01-19
PHP 獨特的文法混合了 C、Java、Perl 以及 PHP 自創新的文法。它可以比 CGI或者Perl更快速的執行動態網頁。用PHP做出的動態網頁面與其他的程式設計語言相比,PHP是將程式嵌入到HTML文檔中去執行,執行效率比完全產生HTML標記的CGI要高許多。下面介紹了十個PHP進階應用程式技巧。1, 使用ip2long() 和 long2ip() 函數來把 IP 位址轉化成整型儲存到資料庫裡。這種方法把儲存空間降到了接近四分之一(char(15) 的 15 個位元組對整形的 4
Time of Update: 2017-01-19
有沒有辦法在PHP中實現多線程呢?假設你正在寫一個基於多台伺服器的PHP應用,理想的情況時同時向多台伺服器發送請求,而不是一台接一台。可以實現嗎?當有人想要實現並發功能時,他們通常會想到用fork或者spawn threads,但是當他們發現PHP不支援多線程的時候,大概會轉換思路去用一些不夠好的語言,比如Perl。假設你要建立一個服務來檢查正在啟動並執行n台伺服器,以確定他們還在正常運轉。你可能會寫下面這樣的代碼:$hosts = array("host1.sample.com",
Time of Update: 2017-01-19
本文執行個體講述了PHP實現斷點續傳下載的方法。分享給大家供大家參考。具體如下:$fname = 'http://XXXX/MMLDZG.mp3';$fp = fopen($fname,'rb');$fsize = filesize($fname);if (isset($_SERVER['HTTP_RANGE']) && ($_SERVER['HTTP_RANGE'] != "") && preg_match("/^bytes=([0-9]+)-$/i",
Time of Update: 2017-01-19
在PHP運行環境中配置IIS7實現基本驗證的方法,其實IIS7身分識別驗證的方法有好幾種,比如Windows身分識別驗證、摘要式驗證等,相對來說IIS7基本驗證是最簡單的一種,下面以圖文方式介紹下IIS7基本驗證的實現方法及注意事項,希望對PHP入門學習的朋友有所協助。準備工作1、由於預設IIS7並沒有安裝配置身分識別驗證功能,所以如果想要實現IIS7基本驗證,首先必須安裝IIS7身分識別驗證功能,你需要開啟控制台>程式和功能>開啟或關閉Windows功能,找到IIS,選擇基本驗證進
Time of Update: 2017-01-19
我們在使用PHP串連資料庫的時候會遇到很多問題,文章這裡揭露PHP應用程式中出現的常見資料庫問題 —— 包括資料庫模式設計、資料庫訪問和使用資料庫的商務邏輯代碼 —— 以及它們的解決方案。如果只有一種方式使用資料庫是正確的。 PHP資料庫問題:直接使用MySQL一個常見問題是較老的 PHP 代碼直接使用 mysql_ 函數來訪問資料庫。清單 1 展示了如何直接存取資料庫。清單 1. Access/get.php<?php function get_user_id(
Time of Update: 2017-01-19
當使用蘋果的iOS系統拍照上傳圖片的時候,可能會遇到圖片被旋轉的問題,這主要是取決於你拍照時拍照按鈕的位置。假設拍照時你把手機旋轉過來底部朝上,那拍出來的照片也是被旋轉了的。下面的代碼將確保所有上傳的照片在上傳時都能是正確定向:<?php$image = imagecreatefromstring(file_get_contents($_FILES['image_upload']['tmp_name']));$exif =