Time of Update: 2018-12-08
複製代碼 代碼如下://判斷遠程檔案 function check_remote_file_exists($url) { $curl = curl_init($url); // 不取回資料 curl_setopt($curl, CURLOPT_NOBODY, true); // 發送請求 $result = curl_exec($curl); $found = false; // 如果請求沒有發送失敗 if ($result !== false) { // 再檢查http響應碼是否為200
Time of Update: 2018-12-08
複製代碼 代碼如下:$url = ‘http://www.baidu.com'; $ch = curl_init(); $timeout = 10; curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $
Time of Update: 2018-12-08
其實這個沒什麼技術含量,當然就直接貼代碼,不廢話了, 但是在其實開發中還是蠻有用的,譬如論壇文章,圍脖等都有相關應用 複製代碼 代碼如下:function tranTime($time) { $rtime = date("m-d H:i",$time); $htime = date("H:i",$time); $time = time() - $time; if ($time < 60) { $str = '剛剛'; } elseif ($time < 60 * 60) {
Time of Update: 2018-12-08
問題是這樣的,某個情況下要給:http://jb51.net?a=1 這類url地址追加參數變為:http://jb51.net?a=1&b=2 但是怎麼知道已經存在相同參數名呢,例如有這種情況:http://jb51.net?a=1&a=2 這個雖然不會有什麼大錯誤,但是地址欄這樣看起來很不好。那怎麼辦呢?用正則解決吧(本來我想用php的字串處理解決的,但是後來覺得要學一下正則了就用正則做吧) 以下是我用於返回上一頁的幕後處理方法 複製代碼 代碼如下:function
Time of Update: 2018-12-08
當時獲得視頻長度是採用網上的通用的獲得flv視頻檔案長度的方法,但是這個方法只對flv視頻支援,其他格式的視頻擷取到的值就很差了, 下面在介紹一種:利用ffmpeg傳回值Duration的方法,原來也想過用,但是沒有解決,現在可以了,由於ffmpeg支援很多種格式的視頻,所以這個具體一定的通用性。 ffmpeg獲得視頻時間長度的Duration的linux命令: ffmpeg -i test.flv 2>&1 | grep 'Duration' | cut -d ' ' -f 4
Time of Update: 2018-12-08
方法一: 複製代碼 代碼如下:$text = '數組aabbccdd'; $text_filter = ''; $filter = array(); $len = mb_strlen($text, 'utf-8'); for ($i = 0; $i<$len; $i++) { $char = mb_substr($text, $i, 1, 'utf-8'); if (!isset($filter[$char])) { $text_filter .= $char;
Time of Update: 2018-12-08
下面來談談SQL注入攻擊是如何?的,又如何防範。 看這個例子: 複製代碼 代碼如下:// supposed input $name = "ilia'; DELETE FROM users;"; mysql_query("SELECT * FROM users WHERE name='{$name}'"); 很明顯最後資料庫執行的命令是: SELECT * FROM users WHERE name=ilia; DELETE FROM users
Time of Update: 2018-12-08
(代碼片斷實驗成功,成功上傳!) 因為昨天想起來學習一下PHP代碼的衝動,是來源於像模仿著做一個類似公司IMAGE LIBRARY的東西出來。所以,今天當最基本的功能實現後,對PHP有了個概念性的認識後,就很自然地想到了個重要的功能急待實現,那就是圖片的上傳。 於是,開始在網上搜羅,找到個別人部落格裡的由三個頁面組成的代碼片斷,於是拷下來研究,結果始終調試不成。本以為是公司電腦入域問題在作怪,後來經過一番嘗試後,打算暫時放一下。回家去試(因為家裡的電腦是最純淨的環境配製)。
Time of Update: 2018-12-08
起初想到製成XML文檔形式,這樣操作也起來很容易。只是看到說XML效率不怎樣 再者就是不同的模板,可這樣也有個小問題,有些詞彙比如時間提示是不確定,與可能是minute ,day。也有可能複數加 s 那好吧,做成數組,可數組就得做成在php檔案的變數,很難做些擴充(我所知道所認為的是這樣) 最後做成txt文字檔的形式,同樣也為這樣的效率擔心,開啟檔案,搜尋字串,截取字串這些,所幸最後運行了一下,一般機子大概0.0004秒,這讓我很驚奇原以為會很慢,畢竟要調用多次。 好吧,上代碼 複製代碼
Time of Update: 2018-12-08
什麼是語義URL 攻擊? 好奇心是很多攻擊者的主要動機,語義URL 攻擊就是一個很好的例子。此類攻擊主要包括對URL 進行編輯以期發現一些有趣的事情。 例如,如果使用者chris 點擊了你的軟體中的一個連結併到達了頁面http://example.org/private.php?user=chris, 很自然地他可能會試圖改變user的值,看看會發生什麼。例如,他可能訪問http://example.org/private.php?user=rasmus
Time of Update: 2018-12-08
假設現在有一個圖片檔案,它的伺服器端路徑為: $path = "/www/mywebsite/images/myphoto.jpg"; 1.pathinfo()函數 pathinfo()函數返回的是一個包含了檔案資訊的數組,數組中有四個元素,分別是dirname、basename、extension、filename。列印數組的代碼: 複製代碼 代碼如下:$fileArr = pathinfo($path); print_r($fileArr); //輸出結果:Array ( [dirname]
Time of Update: 2018-12-08
PDO是PHP 5新加入的一個重大功能,因為在PHP 5以前的php4/php3都是一堆的資料庫擴充來跟各個資料庫的串連和處理,什麼 php_mysql.dll、php_pgsql.dll、php_mssql.dll、php_sqlite.dll等等擴充來串連MySQL、PostgreSQL、MS SQL Server、SQLite,同樣的,我們必須藉助 ADOdb、PEAR::DB、PHPlib::DB之類的資料庫抽象類別來協助我們,無比煩瑣和低效,畢竟,php代碼的效率怎麼能夠我們直接用C/
Time of Update: 2018-12-08
這看起來更加人性化,好吧,上代碼 複製代碼 代碼如下:<?php class timeAgo { static $timeagoObject; private $rustle; private $unit; private function __construct() { } private function __clone(){ } public static function getObject() { if(! (self::$timeagoObject instanceof
Time of Update: 2018-12-08
關鍵詞高亮 複製代碼 代碼如下:function highlight($sString, $aWords) { if (!is_array ($aWords) || empty ($aWords) || !is_string ($sString)) { return false; } $sWords = implode ('|', $aWords); return preg_replace ('@\b('.$sWords.')\b@si', '<strong
Time of Update: 2018-12-08
我並不打算詳細解釋專業名詞,有興趣的讀者可以查閱文章結尾處的參考連結,那裡有通俗易懂的解釋: 我們先找一個例子映像(用Canon 550D拍的): 例子圖片:butterfly.jpg 下面看看如何使用Imagick實現映像長條圖:複製代碼 代碼如下:<?php $file = 'butterfly.jpg'; $size = array( 'width' => 256, 'height' => 100, ); $image = new Imagick($file);
Time of Update: 2018-12-08
php無限分類大致有三種方式, 1、資料庫通過設定父類ID來進行唯一索引,然後使用函數的遞迴調用實現無限分類; 2、資料庫設計通過特定格式進行排列,然後使用mysql查詢關鍵函數:concat。程式實現比較簡單; 3、第三種不是太瞭解, 好像要使用到演算法和資料結構進行排列。今天我主要分享下第二種方式,一開始也是找了很多資料,確實比較難理解。不過最終還是給搞明白了,因此記下隨筆,希望通過這篇文章能夠協助到大家。一、資料庫設計: 複製代碼 代碼如下:-- -- Table
Time of Update: 2018-12-08
在Apache中, 當不加配置的時候, 對於PHP指令碼, AcceptPathInfo是預設接受的, 也就是說: 如果在伺服器在存在一個/laruence/index.php 那麼, 對於如下請求, 複製代碼 代碼如下:/laruence/index.php/dummy /laruence/dumm Apache都接受, 都會認為是對info.php的訪問, 並會設定PATH_INFO為dummy 而對於Nginx下, 是不支援PATH INFO的, 也就是它不會預設設定PATH_INFO.
Time of Update: 2018-12-08
Web開發中,分頁設計必不可少。本文列舉了10個PHP分頁尾本,希望對你的web開發會有協助。 列表中大部分,提供示範和代碼下載。 1) My Pagination With Ajax 2) MySql Pagination 3) Facebook Style Pagination 4) Php & MySql Pagination 5) Styling Pagination 6) PHP pagination script 7) Easy
Time of Update: 2018-12-08
如果您有很大的一個數組,而所要完成的僅是找出一個存在的給定值,您可以使用in_array()以返回true或false。如下代碼將輸出“Not found in this array”,因為您將在$namesArray中尋找一個並不存在的“Alber”。 複製代碼 代碼如下:<?php $namesArray = array("Joe", "Jane", "Bob", "Mary", "Paul", "Eddie", "John"); $lookingFor = "Albert"; if
Time of Update: 2018-12-08
複製代碼 代碼如下:function ce_getmac() { if(PHP_OS == 'WINNT') { $return_array = array(); $temp_array = array(); $mac_addr = ""; @exec("arp -a",$return_array); foreach($return_array as $value) { if(strpos($value,$_SERVER["HTTP_CLIENT_IP"]) !== false