選擇【Window】菜單
Preferences ——>General——>Editors——>Text Editors——>Hyperlinking
posted @
2011-07-22 10:17 jadmin 閱讀(181) |
評論 (0) |
編輯 收藏
<?php
$photo? = 'http://www.xxx.com/uploads/5908618d80559a594164d984c5ca2b01_32.png';
if ($photo) {
??????? $http = new HttpRequest($photo, HTTP_METH_GET);
??????? try {
??????????????? $http->send();
??????? } catch(Exception $e) {
??????????????? try {
??????????????????????? $http->send();
??????????????? } catch (Exception $e) {
??????????????????????? try {
??????????????????????????????? $http->send();
??????????????????????? } catch (Exception $e) {
??????????????????????????????? echo 'error occured while loading file.';
??????????????????????????????? exit;
??????????????????????? }
??????????????? }
??????? }
??????? if ($http->getResponseCode() == 200) {
??????????????? $header = $http->getResponseHeader();
??????????????? if (strstr($header['Content-Type'], 'image') !== FALSE) {
???????????????????? echo base64_encode($http->getResponseBody());
??????????????? }
??????? }
}
?>
posted @
2011-07-22 09:45 jadmin 閱讀(106) |
評論 (0) |
編輯 收藏
今天在MySQL中建立了一張表,其中一個字段是order,通過jdbc往里面插數據一直報錯,好長時間找不到原因
結果把order字段的名稱改成別的,居然成功插入數據,看來是MySQL字段列名不能使用insert、order等關鍵字
posted @
2011-07-12 20:40 jadmin 閱讀(104) |
評論 (0) |
編輯 收藏
> 添加curl擴展
1.在C\windows里的php.ini中我打開了extension=php_curl.dll的功能
2.把php目錄中的libeay32.dll,ssleay32.dll拷到c:\windows\system32里
3.重新啟動Apache
> 代碼
<?php
?? //初始化curl
?? $ch = curl_init() or die (curl_error());
?? echo "Test for searching 'php' in baidu.";
?? //設置URL參數
?? curl_setopt($ch,CURLOPT_URL,"http://www.baidu.com/s?wd=php");
?? //要求CURL返回數據
?? curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
?? //執行請求
?? $result = curl_exec($ch) or die (curl_error());
?? //取得返回的結果,并顯示
?? echo $result;
?? echo curl_error($ch);
?? //關閉CURL
?? curl_close($ch);
?>
> 效果

>CURL函數庫(Client URL Library Function)
curl_close — 關閉一個curl會話
curl_copy_handle — 拷貝一個curl連接資源的所有內容和參數
curl_errno — 返回一個包含當前會話錯誤信息的數字編號
curl_error — 返回一個包含當前會話錯誤信息的字符串
curl_exec — 執行一個curl會話
curl_getinfo — 獲取一個curl連接資源句柄的信息
curl_init — 初始化一個curl會話
curl_multi_add_handle — 向curl批處理會話中添加單獨的curl句柄資源
curl_multi_close — 關閉一個批處理句柄資源
curl_multi_exec — 解析一個curl批處理句柄
curl_multi_getcontent — 返回獲取的輸出的文本流
curl_multi_info_read — 獲取當前解析的curl的相關傳輸信息
curl_multi_init — 初始化一個curl批處理句柄資源
curl_multi_remove_handle — 移除curl批處理句柄資源中的某個句柄資源
curl_multi_select — Get all the sockets associated with the cURL extension, which can then be "selected"
curl_setopt_array — 以數組的形式為一個curl設置會話參數
curl_setopt — 為一個curl設置會話參數
curl_version — 獲取curl相關的版本信息
關鍵詞:php抓取 ? php庫函數?? curl?? php常用函數
posted @
2011-07-08 18:19 jadmin 閱讀(113) |
評論 (0) |
編輯 收藏
> 函數date(format,timestamp)
format???????? 必需。規定時間戳的格式。
timestamp????? 可選。規定時間戳。默認是當前的日期和時間。
<?php
echo date("Y/m/d");
echo "<br />";
echo date("Y.m.d");
echo "<br />";
echo date("Y-m-d");
?>
> 格式化當前時間
<?php echo $showtime=date("Y-m-d H:i:s");?>
顯示的格式: 年-月-日 小時:分鐘:妙
相關時間參數:
a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 幾日,二位數字,若不足二位則前面補零; 如: "01" 至 "31"
D - 星期幾,三個英文字母; 如: "Fri"
F - 月份,英文全名; 如: "January"
h - 12 小時制的小時; 如: "01" 至 "12"
H - 24 小時制的小時; 如: "00" 至 "23"
g - 12 小時制的小時,不足二位不補零; 如: "1" 至 12"
G - 24 小時制的小時,不足二位不補零; 如: "0" 至 "23"
i - 分鐘; 如: "00" 至 "59"
j - 幾日,二位數字,若不足二位不補零; 如: "1" 至 "31"
l - 星期幾,英文全名; 如: "Friday"
m - 月份,二位數字,若不足二位則在前面補零; 如: "01" 至 "12"
n - 月份,二位數字,若不足二位則不補零; 如: "1" 至 "12"
M - 月份,三個英文字母; 如: "Jan"
s - 秒; 如: "00" 至 "59"
S - 字尾加英文序數,二個英文字母; 如: "th","nd"
t - 指定月份的天數; 如: "28" 至 "31"
U - 總秒數
w - 數字型的星期幾,如: "0" (星期日) 至 "6" (星期六)
Y - 年,四位數字; 如: "1999"
y - 年,二位數字; 如: "99"
z - 一年中的第幾天; 如: "0" 至 "365"
?
關鍵詞: php學習?? php教程? php格式化時間?? php函數? date()
?
posted @
2011-07-08 14:58 jadmin 閱讀(114) |
評論 (0) |
編輯 收藏
C:\windows\php.ini
extension=php_xdebug.dll
xdebug.profiler_enable=on
xdebug.trace_output_dir="C:/www/test/xdebug"
xdebug.profiler_output_dir="C:/www/test/xdebug"
?
xdebug.default_enable = On
xdebug.show_exception_trace = On // 設置為On后,即使捕捉到異常,代碼行仍將強制執行異常跟蹤.
xdebug.show_local_vars = 1??? // 將打印每個函數調用的最外圍中的所有局部變量,包括尚未初始化的變量
xdebug.max_nesting_level = 50
xdebug.var_display_max_depth = 6 // 表示轉儲復雜變量的深度.
xdebug.dump_once = On
xdebug.dump_globals = On
// 如果進一步將 xdebug.dump_undefined 設為 On 并且不設定指定的超全局變量,則仍用值 undefined 打印變量.
xdebug.dump_undefined = On
xdebug.dump.REQUEST = *
// 將打印 PHP 超全局變量 $_SERVER['REQUEST_METHOD']、$_SERVER['REQUEST_URI'] 和 $_SERVER['HTTP_USER_AGENT'].
xdebug.dump.SERVER = REQUEST_METHOD,REQUEST_URI,HTTP_USER_AGENT
xdebug.trace_format? 設為 0則輸出將符合人類閱讀習慣(將參數設為 1 則為機器可讀格式).
xdebug.show_mem_delta = 1 則可以查看內存使用量是在增加還是在減少,????
xdebug.collect_params = 4 則可以查看傳入參數的類型和值.要監視每個函數返回的值,請設定 xdebug.collect_return = 1.
PHP Warning:? Xdebug MUST be loaded as a Zend extension in Unknown on line 0?出錯解決
;extension=php_xdebug.dll
zend_extension_ts="C:/php/ext/php_xdebug.dll"????? //以zend方式加載
xdebug.profiler_enable=on
xdebug.trace_output_dir="C:/www/test/xdebug"
xdebug.profiler_output_dir="C:/www/test/xdebug"
?
posted @
2011-07-07 14:31 jadmin 閱讀(136) |
評論 (0) |
編輯 收藏
比如當前文件是放在(d:\www\)下,文件名是test.php。
<?php?? echo __FILE__ ; // 取得當前文件的絕對地址,結果:D:\www\test.php?? echo dirname(__FILE__); // 取得當前文件所在的絕對目錄,結果:D:\www\?? echo dirname(dirname(__FILE__)); //取得當前文件的上一層目錄名,結果:D:\?>
使用方法提示,
dirname(__FILE__) 取到的是當前文件的絕對路徑,也就是說,比起相對路徑,查找速度是最快的。
如果重復一次可以把目錄往上提升一個層次:
比如:$d = dirname(dirname(__FILE__));
其實就是把一個目錄給dirname()做參數了.因為dirname()返回最后的目錄不帶\\或者是/
所以重復使用的時候可以認為 dirname() 把最下層的目錄當成文件名來處理了.照常返回
當前目錄的上級目錄.這樣重復就得到了它的上一級的目錄.
包含得到上一級目錄的文件
include(dirname(__FILE__).’/../filename.php’);
posted @
2011-07-07 13:18 jadmin 閱讀(98) |
評論 (0) |
編輯 收藏
本文主要介紹PHP5.2.11 + Apache2.2.19 + MySQL5.1.45的PHP集成運行環境的搭建(Windows XP SP3操作系統環境)
> 安裝并配置APACHE(安裝到C:\apache)
?? 1、安裝時默認安裝,Network Domain, Server Name 我填寫我的計算機名,Administrator's Email Address區域填你的郵件地址
?? 2、安裝完后在安裝目錄下有個conf文件夾,打開httpd.conf文件進行配置
??????? ·找到 DocumentRoot ,將其設置為你所要存放php, htm等網頁文件的文件夾,如 "D:\phpapache\Apache2.2\htdocs";
??????? ·找到 DirectoryIndex ,在index.html后添加index.php, index.htm等,以單個空格將其分開;
??????? ·重啟Apache,用http://localhost或http://127.0.0.1或http://yourcompanyname測試是否成功。成功的話屏幕會有個It works!
> 安裝配置PHP(解壓PHP壓縮包到C:\php)
?? 1、將php.ini-recommended文件重命名為php.ini并將其剪到系統所在目錄下(如放在2000/NT的WINNT, XP的Windows目錄下),
?? 2、將extension_dir 改為php/ext所在目錄,如 "C:\php\ext";
?? 3、將doc_root 改為第一步中的同樣目錄,如 "C:\apache\htdocs";
?? 4、找到 ;session.save_path = "/tmp" ,將';'去掉,設置你保存session的目錄,如session.save_path = "C:/php/tmp";
?? 5、然后把下面幾句前面的分號去掉,以更好支持Mysql and PHPmyadmin
??????? extension=php_mbstring.dll
??????? extension=php_gd2.dll
??????? extension=php_mysql.dll
??????? extension=php_pdo.dll
??????? extension=php_pdo_mysql.dll
> PHP+APACHE整合
?? 1、允許Apache將PHP程序作為模塊來運行:
?????????? 打開httpd.conf,添加下面內容(位置任意):
???????????? LoadModule php5_module "C:/php/php5apache2_2.dll"
???????????? AddType application/x-httpd-php .php
???????????? AddType application/x-httpd-php .htm
??????????? (.htm, .php為可執行php語言的擴展名,也可加html, php3, php4,甚至txt)
?????????? (以下兩步可以不需要)
?? 2、如果你出于某種原因而需要在CGI模式中運行PHP程序(使用Php.exe),
????????? 請將上面這一行變成注釋(各行頭加#即可),添加下面這些行:
?????????? # ScriptAlias /php/ "C:/php/"
?????????? # AddType application/x-httpd-php .php
?????????? #Action application/x-httpd-php "/php/php-cgi.exe"
?? 3、現在apache 2 支持HTML而不支持PHP,先把下面幾句加到C:\apache\conf\httpd.conf去:
?????????? # ScriptAlias /php/ "C:/php/"
?????????? # AddType application/x-httpd-php .php
?????????? #Action application/x-httpd-php "/php/php-cgi.exe"
> 重啟服務,測試環境
?? 1、在C:\php里找到php5ts.dll,libmysql.dll將其復制到C:\winnt\system32下(winNT/2000的機器),而winXP/2003是復制到C:\windows\system32下
?? 2、測試Apache與php是否連接成功:
????????? 啟動start apache服務或者正在運行的就重新啟動restart apache
?? 3、在Web根目錄下新建test.php(即C:\apache\htdocs目下)
?????????? <html>
?????????? <head><title>test</title></head>
?????????? <body>
??????????? <?php
????????????? phpinfo();
??????????? ?>
???????? </body>
????????? </html>
?? 4、運行http://localhost/test.php
???????? 如果成功,則應該看到一個含有PHP徽標的網頁,其中包含大量設置和其他信息
???????? 那么恭喜你,環境已經搭建成功!
?
關鍵詞:PHP?? PHP5? Apache? MySQL? PHP運行環境?
posted @
2011-07-07 12:05 jadmin 閱讀(80) |
評論 (0) |
編輯 收藏
Hibernate 團隊對外宣布了一個新的家族成員,Hibernate OGM, OGM 是 Object Grid Mapping的縮寫,它的目標是試圖使用 JPA 來操作 NoSQL數據庫,目前似乎局限于Infinispan 。
目前支持的特性:
- CRUD operations for entities
- properties with simple (JDK) types
- embeddable objects
- entity hierarchy
- identifier generators (TABLE and all in-memory based generators today)
- optimistic locking
- @ManyToOne,@OneToOne,@OneToManyand@ManyToManyassociations
- bi-directional associations
- Set,ListandMapsupport for collections
- most Hibernate native APIs (likeSession) and JPA APIs (likeEntityManager)
- same bootstrap model found in JPA or Hibernate Core: in JPA, set<provider>toorg.hibernate.ogm.jpa.HibernateOgmPersistenceand you're good to go
下載:http://www.hibernate.org/subprojects/ogm/download
參考手冊:http://docs.jboss.org/hibernate/ogm/3.0/reference/en-US/html_single/
PS:從目前情況看,不支持流行的 MongoDB 等等。與DataNucleus(http://www.datanucleus.org)在Backend的存儲技術方面,還不能相提并論,DataNucleus支持JDO,JPA標準,支持目前幾乎所有的流行的存儲方式,Google的APPEngine也是基于DataNucleus的。
posted @
2011-06-21 12:58 jadmin 閱讀(163) |
評論 (0) |
編輯 收藏
”…在很多領域,專家的作用體現在他們的專業知識上而不是智力上。“
--Don Reinertsen
領域驅動設計(Domain Driven Design)是一種軟件開發方法,目的是讓軟件系統在實現時準確的基于對真實業務過程的建模并根據真實業務過程的調整而調整。
傳統的開發工作趨向于一種以技術為先導的過程,需求從業務方傳遞到開發團隊,開發人員依據需求上的描述創造出最有可能的假想。
在瀑布開發過程中,這導致了大量的需要頻繁校對,分析,復核和審批的需求文檔。之后這些文檔被交給開發團隊去變成能夠運行的軟件。
敏捷開發方法同樣可以采納瀑布模式過程中產生的需求文檔,但敏捷方法在實際的處理過程中會把它們分成很小的任務和“故事”,之后的開發工作將依據這些任務的排序。
領域驅動設計很大程度上使你從這兩種截然不同的結果中抽身出來,讓你能看到需求是如何在第一現場被收集到——如果你愿意看的話,它在動手先做的方式和在最后一分鐘才做的方式之間做了彌補。
領域驅動設計方式知道需求是永遠不會“完成”的,需求就像一個活的文檔。更重要的是,這些仍待討論的活文檔實際上就是軟件自身——所有的文檔都是程序代碼的一種影像,一種演示品。
隨著軟件系統的開發和發展,你對各種問題的理解也會更深——領域驅動設計就是要通過深入的理解問題來找到問題的解決方案。
然而,領域驅動設計真正的不同之處卻是,它把軟件系統當作業務過程的一個影射,是使能動,而不是驅動。領域驅動設計是要你深入到業務過程中,了解業務術語和實踐方法。技術方面的事被放在了第二位,只是最終的一種手段而已。
Ubiquitous語言(UL)是領域驅動設計的中心——這是一種共有的不斷成長的語言。它是一種來源于業務術語、經過開發團隊的補充而產生
的協商后的語言。如果一個業務人員不懂得UL里的一個術語,有可能是UL需要改進發展。如果一個技術人員不懂得UL里的一個術語,有可能是他們需要跟領域
專家進行交流。
領域專家是領域驅動設計里第二重要的組成部分——這些人能夠對這個領域有深入的了解,包括這個業務本身。這些人構成了開發過程中必要的組成部
分。他們也許像一些敏捷開發方法里傳統的產品擁有者那樣不需要“全天候”的在職,但他們必須在開發過程中能被持續的接觸到,而且隨時準備好參與到開發過程
中。領域專家不能被當作門外人,而應被當作領域驅動設計過程中的核心——他們非常像是開發團隊中的一部分,就像普通的開發者和測試者一樣。
領域驅動設計沒有開始和結束——它是一個不斷的再評估,再重構,再建模,再設計的持續過程——每一次的對話都會使你對問題有更進一步的理解。領
域驅動設計沒有“完成”點——它永遠都在進行;Ubiquitous語言會不斷發展和成長,領域模型隨著對業務理解的改變而改變,代碼不斷的再組織和重構
來更好的表現你的理解。
各種模擬產物產生又拋棄,而唯一真正有意義的只有代碼。它是解決方案的唯一表達,是一種不再抽象的表達。文檔是用來解釋和描述系統的,而只有代
碼能不失分毫的做到這些。這就是說,在領域驅動設計里,代碼必須保持高質量,要清晰,要有表達力,沒有技術上省略和專門用語,盡可能的要讓代碼能夠在被解
釋時對領域專家有些意義。
領域驅動設計里沒有精巧的代碼,也沒有奇特的處理過程,或“你不需要知道”的模塊。領域專家不需要成為開發人員來理解軟件系統里用來做這些工作的關鍵部分是什么。他們同樣也不需要考慮數據庫或批處理任務或其他技術相關的方面。
領域驅動設計是敏捷方法的終極表達——它是用來處理不斷變化和發展的需求的——正如任何一個從未涉足軟件項目的人都知道——一個項目的需求從開始到結束保持一成不變是極其罕見的,絕大多數情況是它會隨著業務的增長和變化而變化。
通過不斷的交流,領域驅動設計會指導你用軟件最精確的表達你的業務過程。
?
關鍵詞:領域模型???? 設計???? 領域驅動設計
posted @
2011-06-11 02:26 jadmin 閱讀(97) |
評論 (0) |
編輯 收藏