Time of Update: 2016-06-07
使用PHP的cURL庫可以簡單和有效地去抓網頁。你只需要運行一個指令碼,然後分析一下你所抓取的網頁,然後就可以以程式的方式得到你想要的資料了。無論是你想從從一個連結上取部分資料,或是取一個XML檔案並把其匯入資料庫,那怕就是簡單的擷取網頁內容,cURL 是一個功能強大的PHP庫。PHP中的CURL函數庫(Client URL Library Function)複製代碼 代碼如下:curl_close — 關閉一個curl會話curl_copy_handle —
Time of Update: 2016-06-07
使用ECShop的smtp方式發送郵件時,在cls_smtp類檔案中,執行到get_data方法中的語句:複製代碼 代碼如下:$line = fgets($this->connection, 512);;時,發生逾時錯誤。注釋掉該函數的執行,直接發送郵件,則返回錯誤ehlo command failed。但列印出連結資料時,確實連上了。之前用別的程式發送郵件也是可以正常發送的,於是重新發送函數,改用phpmailer發送郵件。複製代碼 代碼如下:function
Time of Update: 2016-06-07
雖然Composer使得我們可以重用很多現有的類庫(例如packagist.org中的),但是我們仍然可能用到一些不相容composer的包或者類庫。另外在某一項目中,我們也可能會建立某一類庫,而且可能並沒有製作成為composer package
Time of Update: 2016-06-07
大概需求:每一個訂單都有多個檔案附件,在下載的時候希望對當前訂單的檔案自動打包成一個壓縮包下載細節需求:當前訂單號_年月日+時間.zip 例如:1.產生壓縮檔,壓縮檔名格式:2.壓縮檔存放在根目錄 /upload/zipfile/年月/自訂的壓縮檔名.zip3.點擊下載壓縮包,系統開始對壓縮檔打包,打包完成後自動開始下載4.為了防止暴露壓縮包檔案路徑,需要對下載的壓縮包檔案名稱改名 具體操作模式請見下面的代碼:檔案路徑:壓縮包檔案存放路徑:/upload/zipfile/上傳的附件存放路徑:/
Time of Update: 2016-06-07
無聊中居然又找到個php版本的抓取google hosts的檔案,試了下還可以用,ping了下ip,延遲也不是很高,網頁開啟測試了下速度也很快,大家有興趣的話可以試試.自動更新hosts檔案, 不覆蓋已存在的記錄,方便使用,不用每次都 複製->開啟hosts檔案->粘貼。php檔案: * Date: 2015/2/6 * Time: 11:42*/define('START_TAG','#google-hosts-2015');define('END_TAG','#google-hosts-20
Time of Update: 2016-06-07
phpcurl使用privoxy代理訪問https://www.google.com/search?q=xxxcurl配置平淡無奇,長時間運行發現一個嚴重問題,記憶體泄露!不論用單線程和多線程都無法避免!是curl訪問https網站的時候有bug!記憶體泄露可以通過linux的top命令發現,使用php函數memory_get_usage()不會發現。經過反覆調試找到解決辦法,curl配置添加如下幾項解決問題:複製代碼 代碼如下:[CURLOPT_HTTPPROXYTUNNEL] =
Time of Update: 2016-06-07
有時候經常會用到一些線上手冊,比如國內或國外的,有些是訪問速度慢,有些是作者直接吧網站關閉了,有些是伺服器總是宕機,所以還是全盤複製到自己伺服器比較爽。庫特點:給定一初始串連,初始連結以下的層級所有檔案會拷貝到本地。多次複製可以配置是否覆蓋。可以配置是否下載圖片。所有連結替換為相對連結,所以可以隨便rewrite。絕對不會出現檔案覆蓋等問題。最NB的特點是,沒有比這更NB的庫了。SVN:http://svn.phpdr.net/repos/ares/php/library/trunk/lib/C
Time of Update: 2016-06-07
經常遇到這樣一種情況,計劃任務定時後台執行某個php程式,有時候也需要手動執行,可能多個人都需要執行這個程式,如果任務期間非常長,就很容易造成重複執行,所以就開發了下面的類。作用:在實際代碼運行前檢查與當前相同操作的進程是否正在運行,高並發運行是可靠的,運行中的進程中途異常中斷不會產生任何影響。構造方法傳遞pid檔案目錄的絕對路徑,需要自己保證不同進程對應不同pid檔案。複製代碼 代碼如下:/* *
Time of Update: 2016-06-07
驗證碼(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自動區分電腦和人類的圖靈測試)的縮寫,是一種區分使用者是電腦還是人的公用全Bot。可以防止:惡意破解密碼、刷票、論壇灌水,有效防止某個駭客對某一個特定註冊使用者用特定程式暴力破解方式進行不斷的登陸嘗試,實際上用驗證碼是現在很多網站通行的方式,我們利用比較簡易的方式實現了這個功能。
Time of Update: 2016-06-07
1.在DOS命令視窗輸入 mysql -hlocalhost -uroot -p斷行符號 進入mysql資料庫, 其中-h表示伺服器名,localhost表示本地;-u為資料庫使用者名稱,root是mysql預設使用者名;-p為密碼,如果設定了密碼,可直接在-p後連結輸入, 如:-p123456,使用者沒有設定密碼,顯示Enter password時,直接斷行符號即可。
Time of Update: 2016-06-07
在linux中輸入命令複製代碼 代碼如下:crontab -e然後使用vim的命令編輯開啟的檔案,輸入複製代碼 代碼如下:0 * * * * /usr/bin/php -f /home/userxxx/update.php儲存,退出,好了,現在系統會在每個0點自動執行update.php指令碼,指令碼中可以編寫資料庫執行,自動發郵件等功能。註:直接寫成 0 * * * * php -f /home/userxxx/update.php將不會起作用。 另外cronjob的格式為:MIN HOUR
Time of Update: 2016-06-07
在之前我寫過php返回json資料簡單一實例,剛剛上網,突然發現一篇文章,也是介紹json的,還挺詳細,值得參考。內容如下從5.2版本開始,PHP原生提供json_encode()和json_decode()函數,前者用於編碼,後者用於解碼。一、json_encode()複製代碼 代碼如下:$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);echo json_encode($arr);?>輸出複製代碼 代碼如下:{"a":1,"b":2,
Time of Update: 2016-06-07
代碼很簡單,就不多廢話了。複製代碼 代碼如下:$array=array("1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20");//規定要分頁的數組$page= $_GET['page']; $r = $this->page($array,5,$page); print_r($r); exit(); foreach($r["source"] as $s){ echo $
Time of Update: 2016-06-07
本文執行個體講述了cakephp列印sql語句的方法。分享給大家供大家參考。具體實現方法如下:將以下語句複製到你的代碼中,可以列印出在這之前所有的sql語句:$sources = ConnectionManager::sourceList(); if (!isset($logs)): $logs = array(); foreach ($sources as $source): $db =& ConnectionManager::getDataSource($source); if (!$db-
Time of Update: 2016-06-07
PHP是一種用於建立動態WEB頁面的服務端指令碼語言。如同ASP和ColdFusion,使用者可以混合使用PHP和HTML編寫WEB頁面,當訪 問者瀏覽到該頁面時,服務端會首先對頁面中的PHP命令進行處理,然後把處理後的結果連同HTML內容一起傳送到訪問端的瀏覽器。但是與ASP或 ColdFusion不同,PHP是一種原始碼開放程式,擁有很好的跨平台相容性。使用者可以在Windows
Time of Update: 2016-06-07
單例模式主要使用於資料庫的串連, 確保資料庫一個類只有一個執行個體, 並且向整個系統提供這個執行個體。從而避免new操作消耗資源, 同時避免資料庫出現too many connection資訊.要點有三個: 1. 必須只有一個執行個體。 2. 必須自動建立這個執行個體。 3. 必須向整個系統提供這個執行個體。複製代碼 代碼如下: class mysql{ privete static $instance ;//儲存執行個體 //建構函式聲明為private,
Time of Update: 2016-06-07
在之前一篇文章中我介紹了通過定義Response宏的方式來實現動態改變模板檔案路徑以實現主題功能: laravel實現模板主題功能,但後來我發現這種方法有個弊端,在模板中使用@extends必須顯式指定模板路徑,這可能造成混亂,我決定還是改變思想,主題和主題之間應該是完全隔離的,不存在就是不存在,不要自動去另外的主題中尋找替代的模板。而原來定義response宏的方式可以實現,但我決定使用更加規範的方法。laravel的View類裡有一個方法 View::addNamespace
Time of Update: 2016-06-07
今天收到了很多Bloger朋友的E-mail拜年簡訊,嘿嘿,感覺很好玩,可是他們是如何?的這個呢,很簡單的,可是簡單的分為兩步:1)通過SQL查詢擷取E-mail地址2)通過某種方法群發E-mail對於1,幾行PHP代碼可以解決:複製代碼 代碼如下:xmlns="http://www.w3.org/1999/xhtml">WordPress 郵件群發工具 Designed By Kaisir//要串連的資料庫地址$db_server="localhost";//資料庫使用者名稱$db_user_
Time of Update: 2016-06-07
國產架構thinkPHP,是一款MVC架構,這個架構最初類比JAVA的struts架構,使用單一入口檔案類比JAVA的過濾器,使用action來類比STRUTS的控制器ACTION,所以為什麼他的MVC之中,M是model,V是view,而control卻是action的原因。
Time of Update: 2016-06-07
使用百度的介面擷取美女圖片,並用瀑布流的形式展示到自己的頁面中。github項目地址:https://github.com/CraryPrimitiveMan/pretty最終效果如下:點開百度圖片的美女頻道,http://image.baidu.com/channel?c=%E7%BE%8E%E5%A5%B3#%E7%BE%8E%E5%A5%B3開啟chrome的調試工具或者firefox的firebug工具,將捲軸拖到最下面,可以再network中看到如下請求:其參數如下:通過分析,