Time of Update: 2017-01-19
本文執行個體講述了php實現SAE上使用storage上傳與下載檔案的方法。分享給大家供大家參考。具體如下:<?phpif ($_FILES["file"]["error"] > 0){ echo "Error: " . $_FILES["file"]["error"] . "<br />";}else{ echo "Upload: " . $_FILES["file"]["name"] . "<br />"; echo "Type: " .
Time of Update: 2017-01-19
<?php $ary=array("name","egineer","sonny","tonny","pingk","apple","phone","clone","pink","colle");foreach($ary as $key=>$value){$key=$key+1;if($key%2==1){echo '<li>';} ?> <span><?php echo $key.":".
Time of Update: 2017-01-19
本文執行個體講述了PHP關聯陣列實現根據元素值刪除元素的方法。分享給大家供大家參考。具體如下:<?php $array1 = array("a" => "green", "red", "blue", "red"); $array2 = array("b" => "green"); $result = array_diff($array1, $array2);//這樣就相當於刪除$array1裡的值為"green"的元素。 print_r($result); ?&
Time of Update: 2017-01-19
本文執行個體講述了PHP實現事件機制的方法。分享給大家供大家參考。具體分析如下:內建了事件機制的語言不多,php也沒有提供這樣的功能。事件(Event)說簡單了就是一個Observer模式,實現起來很容易。但是有所不同的是,事件的監聽者誰都可以加,但是只能由直接包含它的對象觸發。這就有一點點難度了。php有一個debug_backtrace函數,可以得到當前的調用棧,由此可以找到判斷呼叫事件觸發函數的對象是不是直接包含它的對象的辦法。<?php/*** 事件** @author
Time of Update: 2017-01-19
複製代碼 代碼如下: function jk1986_checksql() { $bad_str = "and|select|update|'|delete|insert|*"; $bad_Array = explode("|",$bad_str); /** 過濾Get參數 **/ foreach ($bad_Array as $bad_a) { foreach ($_GET as $g) { if (substr_count(strtolower($g),$bad_a) > 0) {
Time of Update: 2017-01-19
Raphael Caixeta作為一個剛開始使用PHP的開發人員,總結了十點PHP開發的技術,希望能對這門了不起的放言的初學者能有些協助:1、盡量使用PHP內建的核心函數和類 2、巧用設定檔 3、時刻注意對要寫進資料的資料進行過濾 4、開發階段開啟錯誤提示 <5、代碼注釋不要過頭,適當就好 6、收藏喜愛的代碼片斷並放在很容易找到的地方 7、使用一款好的源碼編輯器來節約時間 8、使用MySQL管理工具(如phpMyAdmin) 9、使用PHP架構 10、與其他PHP開發人員保持交流
Time of Update: 2017-01-19
1.聲明 密碼學是一個複雜的話題,我也不是這方面的專家。許多高校和研究機構在這方面都有長期的研究。在這篇文章裡,我希望盡量使用簡單易懂的方式向你展示一種安全儲存Web程式密碼的方法。 2.“Hash”是做什麼的? “Hash將一段資料(小資料或大資料)轉換成一段相對短小的資料,如字串或整數。” 這是依靠單向hash函數來完成的。所謂單向是指很難(或者是實際上不可能)將其反轉回來。一個常見的hash函數的例子是md5(),它流行於各種電腦語言和系統。 複製代碼 代碼如下: $data =
Time of Update: 2017-01-19
這個索引值除了即食麵資料的記錄和搜尋,還起著記錄日期資訊的作用,資訊量很可觀。 那麼,如何還原索引值為可用的日期資訊呢? date('z')返回的是一年中的第幾天,傳回值為從0開始至365的整數。要將這些整數還原為日期資訊,我們只需要一個簡單的計算。以今年(2008年)第159天(實際為160天,php中從0開始,0對應於常規的第一天)為例,計算它的日期、星期方法如下: 複製代碼 代碼如下: <?php $MyDate=159; //第159天 $milliseconds =
Time of Update: 2017-01-19
一、 注入式攻擊的類型 可能存在許多不同類型的攻擊動機,但是乍看上去,似乎存在更多的類型。這是非常真實的-如果惡意使用者發現了一個能夠執行多個查詢的辦法的話。本文後面,我們會對此作詳細討論。 如 果你的指令碼正在執行一個SELECT指令,那麼,攻擊者可以強迫顯示一個表格中的每一行記錄-通過把一個例如"1=1"這樣的條件注入到WHERE子句中,如下所示(其中,注入部分以粗體顯示): SELECT * FROM wines WHERE variety = 'lagrein' OR 1=1;'
Time of Update: 2017-01-19
複製代碼 代碼如下: <?php class Mobi { function __isMobile() { $useragent=$_SERVER['HTTP_USER_AGENT']; if(preg_match('/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm(
Time of Update: 2017-01-19
PHP使用file_get_contents的代理方法擷取遠程網頁的代碼。 複製代碼 代碼如下: <?php $url = "http://www.jb51.net/"; $ctx = stream_context_create(array( 'http' => array('timeout' => 5, 'proxy' => 'tcp://60.175.203.243:8080', 'request_fulluri' => True,) ) ); $result
Time of Update: 2017-01-19
drupal檔案上傳表單的例子 複製代碼 代碼如下: function upload_form() { $form = array(); // If this #attribute is not present, upload will fail on submit $form['#attributes']['enctype'] = 'multipart/form-data'; $form['file_upload'] = array( '#title' => t('Upload
Time of Update: 2017-01-19
複製代碼 代碼如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>greengnn
Time of Update: 2017-01-19
首先使用一個ini檔案來設定要縮放的大小,其中為寬或高0的則為圖片放大或縮小,都為0則還是原大小,都不為0都拉抻成指定的大小。 注意:ini檔案使用php解釋時為注釋檔案,什麼也沒有輸出,這是為了安全起見而故意為之。而;則是ini檔案的注釋。 我設定的ini檔案例子如下: 複製代碼 代碼如下: <?php /* ;Translate the image format using the original image size [Translation] width=0 height=0 ;
Time of Update: 2017-01-19
用來作為解決php以root許可權執行一些普通使用者不能執行的命令或應用的參考。 其實php裡的popen()函數是可以解決這個問題的,但是由於某些版本的linux(如我使用的Centos 5)對系統安全的考慮, 使得這個問題解決起來麻煩了好多。先來看一個網友使用popen()函數的例子。 複製代碼 代碼如下: /* PHP中如何增加一個系統使用者 下面是一段常式,增加一個名字為james的使用者, root密碼是 louis。僅供參考 */ $sucommand = "su root
Time of Update: 2017-01-19
1,拼接字串 拼接字串是最常用到的字串操作之一,在PHP中支援三種方式對字串進行拼接操作,分別是圓點.分隔字元{}操作,還有圓點等號.=來進行操作,圓點等號可以把一個比較長的字串分解為幾行進行定義,這樣做是比較有好處的. 2,替換字串 在PHP這門語言中,提供了一個名字叫做substr_replace()的函數,該函數的作用可以快速的完成掃描和編輯常值內容較多的字串替換功能.他的文法格式: mixed substr_replace(mixed $string,string
Time of Update: 2017-01-19
應該這樣用if(isset($_POST['submit'])) { } 提交表單時 if($_POST[submit])與 if(isset($_POST[submit])) 的區別 第一種方法會出現一個warning,第二種相對更嚴謹。 還有就是POST的鍵名最好加上單引號,這樣效率稍微高點(大概3-4倍)。 恩 差不多那個意思,如果設定了這個變數則返回true PHP中if(isset($_POST['Submit']))是什麼意思 isset -- 檢測變數是否設定
Time of Update: 2017-01-19
/** * 將數組的內部指標倒回一位 * @param array &$arr * @return mixed 返回前一個單元的值,當沒有更多單元時返回 FALSE * 如果數組包含空的單元,或者單元的值是 0 則本函數碰到這些單元也返回 FALSE * 要正確遍曆可能含有空單元或者單元值為 0 的數組,參見 each() 函數 */ mixed prev(array &$arr); <?php $transport = array('foot', 'bike', 'car',
Time of Update: 2017-01-19
清單 1.簡單的擲骰器 許多遊戲和遊戲系統都需要骰子。讓我們先從簡單的部分入手:擲一個六面骰子。實際上,滾動一個六面骰子就是從 1 到 6 之間選擇一個隨機數字。在 PHP 中,這十分簡單:echo rand(1,6);。 在許多情況下,這基本上很簡單。但是在處理機率遊戲時,我們需要一些更好的實現。PHP 提供了更好的隨機數字產生器:mt_rand()。在不深入研究兩者差別的情況下,可以認為 mt_rand 是一個更快、更好的隨機數字產生器:echo
Time of Update: 2017-01-19
Fatal error: Non-static method Conn::__construct() cannot be called statically in /file.php 沒有靜態方法(裡面這個指方法參數,字串類型),不能從靜態上下文引用。 Fatal error: [] operator not supported for strings in /file.php 當一個變數已設為非數群組類型的時候,就不能再次使用[]讓同名變數增加資料索引值 解決方案:1.改變變數名稱、2.使用$