phpapi源碼
『壹』 dnspod API代理平台 需要php源碼 誰能寫呢
能寫。API介面規范請參照官方
『貳』 怎麼用PHP開發API供其他客戶端調用
一、介面的分類:
1、URL類型的介面
URL
路由帶參數式的介面!這個很好做!只要有過Web開發經驗的人都能完成!這種介面數據不夠隱蔽性,可以直接在瀏覽其中看到,如支付寶的交易請求URL。需
要加一個MD5簽名,和伺服器端的再次向支付寶伺服器發送驗證!雖然soap方式傳遞的數據隱蔽性很好!但為了數據安全,難免也需要進行數據簽名。
2、SOAP類型的介面
無關編程語言、無關平台、擴展性很好,要實現一個SOAP 型的介面,有兩種方式:一種有WSDL文件方式、一中無WSDL文件方式!
對
於熱愛研究型的人來說,使用第一種方式可以讓你清楚的了解PHP是怎麼創建了一個Web
Service!但第一種對於新手來說,創建一個XML格式的WSDL文件,是比較難的,這你的先了解熟悉什麼是XML!學會XML語法!但對於一個急於
解決問題的人來說!沒有這么多的時間去熟悉!所以這是件煩惱的事!
二、PHP環境設置
先配置下PHP的soap環境支持:
找到php.ini文件
;extension=php_soap.dll
刪除掉";" ,重啟apache伺服器
為了便於測試,需要關於wsdl緩存
方式1:
配置文件:php.ini 選項 soap.wsdl_cache_enabled 設置為0
方式2:
代碼頭添加:ini_set('soap.wsdl_cache_enabled', "0"); //關閉wsdl緩存
三、有WSDL文件方式創建
在
這里先介紹標準的webservice。 那麼如何創建wsdl呢?對於PHP來說這確實是件很不容易的事情,有人說用zend
studio創建很方便,這是一種方法。但對於那些不喜歡用zend studio的人來說,會覺得創建一個web service還要安裝zend
studio,太強人所難了。
在這里介紹一個簡單的方法,到網上下載SoapDiscovery.class.php類,裡面有個公用方法:getWSDL,這個方法末尾是用的 return,那麼,你修改一下這個方法:
//return sprintf('%s%s%s%s%s%s', $headerWSDL, $portTypeWSDL, $bindingWSDL, $serviceWSDL, $messageWSDL, '</definitions>');
//生成wsdl文件,將上面的return注釋
$fso = fopen($this->class_name . ".wsdl" , "w");
fwrite($fso,
sprintf('%s%s%s%s%s%s', $headerWSDL, $portTypeWSDL, $bindingWSDL,
$serviceWSDL, $messageWSDL, '</definitions>'));
現在生成wsdl的類有了,SoapDiscovery.class.php(源碼在最末尾)。
再准備一個提供服務的Service.php類文件或者函數就可以創建wsdl了!
『叄』 如何使用 php 開發 api
比如一個自定義函數:function test(){echo 『hello world』;}就可以叫做 api。api 既可以是單個的函數,也可以是封裝在類里的方法,當然它們也是程序代碼。開發一個 api 的流程可以很簡單,也可以很復雜,視具體的編程任務而決定,並沒有特定的規則。比如,你需要為自己建立一個常用的函數庫,命名為 my.lib.php然後把你自己編寫的自定義函數,全部寫在這個文件裡面,那麼,你就擁有了自己的api。開發的時候,只需要引入 my.lib.php,你就可以調用自己的 api 了。這是一個比較簡單的例子。稍微復雜一點的,你可以把函數封裝在類裡面,方便繼承和重用,還可以根據函數名稱做一些程序設計,這個一句話說不清楚,給一個簡單的例子吧:class mylib{function showmy(){echo 『這是我的一個類方法』;}}調用的時候,先要實例化類,然後再調用方法。再復雜一點的就是使用類介面,區別就是介面裡面定義的只是方法原型,而你需要通過具體的類來實現介面中的函數,具體請參考 php 手冊,關於介面的介紹。還有一種介面不是通過直接訪問介面代碼來實現功能的,這就是我們常說的 web service,俗稱遠程調用:比如:我的一個網站 www.test.com/api在這個網址里包含了我開放的一些介面,可以供網路上的其它用戶來獲取我網站的會員信 息 等 , 假 設 這 個 接 口 名 叫 userinfo , 那 么 開 發 者 可 以 通 過www.test.com/api/userinfo 來獲取某一個會員的信息,當然具體的代碼肯定很多,這里只是舉例子說明。尤其要著重說明的是,開發者不是通過直接訪問 www.test.com/api/userinfo 來獲取用戶信息的,當向別人開發自己網站的介面時,你需要編寫一些介面文件,供別人來使用 ,一般可以通過 fsockopen 函數來實現。
『肆』 什麼是APIPHP的API怎麼寫
API就是介面,所謂介面說白了就是有人訪問你的這個頁面就會返回特定的數據。寫API就是把你返回的數據以json或者xml的形式輸出,當有人訪問的時候就會拿到這些數據。
『伍』 php源碼高手請進!!!!
1、安裝php運行環境
2、安裝資料庫
3、將網站目錄指向網站源碼所在的文件夾
詳細步驟如下:
===========
===========
===========
Windows 2000/XP/2003 下 IIS+PHP+Mysql+Zend Optimizer+GD庫+phpMyAdmin安裝配置
關鍵詞:Windows IIS下配置支持PHP+MYSQL
Apache下支持PHP的配置方法比較簡單,這里就不寫了
一般WIN主機推薦PHP環境組合:PHP4.4.x+MySQL4.0.x,故以下關於PHP4.4.x+MySQL4.0.x組合的安裝以藍色文字顯示,如果你只需要安裝PHP4.4.x+MySQL4.0.x的組合只看藍色文字的相關內容即可
當然喜歡體驗的或者WIN2003系統也可體驗嘗試最新的版本,推薦組合PHP5.1.x+MYSQL5.0.x/MySQL4.1.x
一、軟體准備:以下均為截止2006-1-20的最新正式版本,下載地址也均長期有效
1.PHP,推薦PHP4.4.0的ZIP解壓版本:
PHP(4.4.0):
http://cn.php.net/get/php-4.4.0-Win32.zip/from/a/mirror
[供選用]:
PHP(5.1.2):
http://cn.php.net/get/php-5.1.2-Win32.zip/from/a/mirror
2.MySQL,配合PHP4推薦MySQL4.0.26的WIN系統安裝版本:
MySQL(4.0.26):
http://download.discuz.net/mysql-4.0.26-win32.zip
http://dev.mysql.com/get/Downloa ... p/from/pick#mirrors
[供選用]:
MySQL(4.1.16):
http://www.skycn.com/soft/24418.html
http://dev.mysql.com/get/Downloa ... p/from/pick#mirrors
MySQL(5.0.18):
http://www.skycn.com/soft/1262.html
http://dev.mysql.com/get/Downloa ... p/from/pick#mirrors
3.Zend Optimizer,當然選擇當前最新版本拉:
Zend Optimizer(2.6.2):
http://www.zend.com/store/free_download.php?pid=13
(Zend軟體雖然免費下載,但需要注冊用戶,這里提供本人注冊好的帳戶名:
xqincom
和密碼:
xqin.com
,方便大家使用,請不要修改本帳號或將本帳戶用於其他費正當途徑,謝謝!)
登陸後選擇Windows x86的Platform版本,如最新版本2.6.2
https://www.zend.com/store/getfreefile.php?pid=13&zbid=995
4.phpMyAdmin,當然同樣選擇當前最新版本拉,注意選擇for Windows 的版本哦:
phpMyAdmin(2.7.0):
http://www.crsky.com/soft/4190.html
http://www.skycn.com/soft/10687.html
假設 C:\ 為你現在所使用操作系統的系統盤,如果你目前操作系統不是安裝在 C:\ ,請自行對應修改相應路徑。同時由於C盤經常會因為各種原因重裝系統,數據放在該盤不易備份和轉移
選擇安裝目錄,故本文將所有PHP相關軟體均安裝到D:\php目錄下,這個路徑你可以自行設定,如果你安裝到不同目錄涉及到路徑的請對應修改以下的對應路徑即可
二、安裝 PHP :本文PHP安裝路徑取為D:\php\php4\
(為避混淆,PHP5.1.x版本安裝路徑取為D:\php\php5\)
(1)、下載後得到 php-4.4.0-Win32.zip ,解壓至D:\php目錄,將得到二級目錄php-4.4.0-Win32,改名為 php4,也即得到PHP文件存放目錄D:\php\php4\[如果是PHP5.1.2,得到的文件是php-5.1.2-Win32.zip,直接全 部接壓至D:\php\php5目錄即可得PHP文件存放目錄D:\php\php5\
];
(2)、再將D:\php\php4目錄和D:\php\php4\dlls目錄[
PHP5為D:\php\php5\
]下的所有dll文件拷到c:\Windows\system32(win2000系統為 c:/winnt/system32/)下,覆蓋已有的dll文件;
(3)、將php.ini-dist用記事本打開,利用記事本的查找功能搜索並修改:
搜索
CODE:
[Copy to clipboard]
register_globals = Off,將 Off 改成 On ,即得到register_globals = On;
註:這個對應PHP的全局變數功能,考慮有很多PHP程序需要全局變數功能故打開,打開後請注意-PHP程序的嚴謹性,如果不需要推薦不修改保持默認Off狀態
再搜索
CODE:
[Copy to clipboard]
extension_dir =,並將其路徑指到你的 PHP 目錄下的 extensions 目錄,比如:修改extension_dir = "./"為extension_dir = "D:/php/php4/extensions/" ;
PHP擴展功能目錄[PHP5對應修改為extension_dir = "D:/php/php5/ext/"]
在D:\php下建立文件夾並命名為tmp
查找
CODE:
[Copy to clipboard]
;upload_tmp_dir =將;upload_tmp_dir該行的注釋符,即前面的分號「;」去掉,使該行在php.ini文檔中起作用。upload_tmp_dir是用來定 義上傳文件存放的臨時路徑,在這里你還可以修改並給其定義一個絕對路徑,這里設置的目錄必須有讀寫許可權。
這里我設置為upload_tmp_dir = D:/php/tmp (即前面建立的這個文件夾呵)
搜索找到
CODE:
[Copy to clipboard]
;Windows Extensions將下面一些常用的項前面的;去掉
CODE:
[Copy to clipboard]
;extension=php_mbstring.dll
CODE:
[Copy to clipboard]
;extension=php_curl.dll
CODE:
[Copy to clipboard]
;extension=php_dbase.dll
CODE:
[Copy to clipboard]
;extension=php_gd2.dll
這個是用來支持GD庫的,一般需要,必選
CODE:
[Copy to clipboard]
;extension=php_ldap.dll
CODE:
[Copy to clipboard]
extension=php_zip.dll去掉前面的";"
對於PHP5的版本還需要查找
CODE:
[Copy to clipboard]
;extension=php_mysql.dll並同樣去掉前面的";"
這個是用來支持MYSQL的,由於PHP5將MySQL作為一個獨立的模塊來載入運行的,故要支持MYSQL必選
查找
CODE:
[Copy to clipboard]
;session.save_path =去掉前面;號,本文這里將其設置置為
session.save_path = D:/php/tmp
其他的你可以選擇需要的去掉前面的;然後將該文件另存為為php.ini到C:\Windows ( Windows 2000 下為 C:\WINNT)目錄下,注意更改文件後綴名為ini,得到C:\Windows\php.ini ( Windows 2000 下為 C:\WINNT\php.ini)
本人配置成功後的PHP.INI文件示例可供大家參考:
http://xqin.com/iis/php4/php.ini
對應版本為PHP4.4.0
http://xqin.com/iis/php5/php.ini
對應版本為PHP5.1.12
若路徑等和本文相同可直接保存到C:\Windows ( Windows 2000 下為 C:\WINNT)目錄下使用若路徑等和本文相同可直接保存到C:\Windows ( Windows 2000 下為 C:\WINNT)目錄下使用
一些朋友經常反映無法上傳較大的文件或者運行某些程序經常超時,那麼可以找到C:\Windows ( Windows 2000 下為 C:\WINNT)目錄下的PHP.INI以下內容修改:
max_execution_time = 30 ; 這個是每個腳本運行的最長時間,可以自己修改加長,單位秒
max_input_time = 60 ; 這是每個腳本可以消耗的時間,單位也是秒
memory_limit = 8M ; 這個是腳本運行最大消耗的內存,也可以自己加大
upload_max_filesize = 2M ; 上載文件的最大許可大小 ,自己改吧,一些圖片論壇需要這個更大的值
(4)、配置 IIS 使其支持 PHP :
首先必須確定系統中已經正確安裝 IIS ,如果沒有安裝,需要先安裝 IIS ,安裝步驟如下:
Windows 2000/XP 下的 IIS 安裝:
用 Administrator 帳號登陸系統,將 Windows 2000 安裝光碟插入光碟驅動器,進入「控制面板」點擊「添加/刪除程序」,再點擊左側的「添加/刪除 Windows 組件」,在彈出的窗口中選擇「Internet 信息服務(IIS)」,點下面的「詳細信息」按鈕,選擇組件,以下組件是必須的:「Internet 服務管理器」、「World Wide Web 伺服器」和「公用文件」,確定安裝。
安裝完畢後,在「控制面板」的「管理工具」里打開「服務」,檢查「IIS Admin Service」和「World Wide Web Publishing Service」兩項服務,如果沒有啟動,將其啟動即可。
Windows 2003 下的 IIS 安裝:
由於 Windows 2003 的 IIS 6.0 集成在應用程序伺服器中,因此安裝應用程序伺服器就會默認安裝 IIS 6.0 ,在「開始」菜單中點擊「配置您的伺服器」,在打開的「配置您的伺服器向導」里左側選擇「應用程序伺服器(IIS,ASP.NET)」,單擊「下一步」出 現「應用程序伺服器選項」,你可以選擇和應用程序伺服器一起安裝的組件,默認全選即可,單擊「下一步」,出現「選擇總結界面」,提示了本次安裝中的選項, 配置程序將自動按照「選擇總結」中的選項進行安裝和配置。
打開瀏覽器,輸入:
http://localhost/
,看到成功頁面後進行下面的操作:
PHP 支持 CGI 和 ISAPI 兩種安裝模式,CGI 更消耗資源,容易因為超時而沒有反映,但是實際上比較安全,負載能力強,節省資源,但是安全性略差於CGI,本人推薦使用 ISAPI 模式。故這里只解介紹 ISAPI 模式安裝方法:(以下的截圖因各個系統不同,窗口界面可能不同,但對應選項卡欄目是相同的,只需找到提到的對應選項卡即可)
在「控制面板」的「管理工具」中選擇「Internet 服務管理器」,打開 IIS 後停止服務,對於WIN2000系統在」Internet 服務管理器「的下級樹一般為你的」計算機名「上單擊右鍵選擇「屬性」,再在屬性頁面選擇主屬性」WWW 服務「右邊的」編輯「
對於XP/2003系統展開」Internet 服務管理器「的下級樹一般為你的」計算機名「選擇」網站「並單擊右鍵選擇「屬性」
在彈出的屬性窗口上選擇「ISAPI 篩選器」選項卡找到並點擊「添加」按鈕,在彈出的「篩選器屬性」窗口中的「篩選器名稱」欄中輸入:PHP ,再將瀏覽可執行文件使路徑指向 php4isapi.dll 所在路徑,如本文中為:D:\php\php4\sapi\php4isapi.dll[PHP5對應路徑為D:\php\php5\ php5isapi.dll
]。
打開「站點屬性」窗口的「主目錄」選項卡,找到並點擊「配置」按鈕
在彈出的「應用程序配置」窗口中的」應用程序映射「選項卡找到並點擊「添加」按鈕新增一個擴展名映射,在彈出的窗口中單擊「瀏覽」將可執行文件指向 php4isapi.dll 所在路徑,如本文中為:D:\php\php4\sapi\php4isapi.dll[
PHP5對應路徑為D:\php\php5\php5isapi.dll
],擴展名為 .php ,動作限於」GET,HEAD,POST,TRACE「,將「腳本引擎」「確認文件是否存在」選中,然後一路確定即可。如果還想支持諸如 .php3 ,.phtml 等擴展名的 PHP 文件,可以重復「添加」步驟,對應擴展名設置為需要的即可如.PHPX。
此步操作將使你伺服器IIS下的所有站點都支持你所添加的PHP擴展文件,當然如果你只需要部分站點支持PHP,只需要在「你需要支持PHP的Web站 點」比如「默認Web站點」上單擊右鍵選擇「屬性」,在打開的「 Web 站點屬性」「主目錄」選項卡,編輯或者添加PHP的擴展名映射即可或者將你步需要支持PHP的站點中的PHP擴展映射刪除即可
再打開「站點屬性」窗口的「文檔」選項卡,找到並點擊「添加」按鈕,向默認的 Web 站點啟動文檔列表中添加 index.php 項。您可以將 index.php 升到最高優先順序,這樣,訪問站點時就會首先自動尋找並打開 index.php 文檔。
確定 Web 目錄的應用程序設置和執行許可中選擇為純腳本,然後關閉 Internet 信息服務管理器
對於2003系統還需要在「Internet 服務管理器」左邊的「WEB服務擴展」中設置ISAPI 擴展允許,Active Server Pages 允許
完成所有操作後,重新啟動IIS服務。
在CMD命令提示符中執行如下命令:
net stop w3svc
net stop iisadmin
net start w3svc
到此,PHP的基本安裝已經完成,我們已經使網站支持PHP腳本。
檢查方法是,在 IIS 根目錄下新建一個文本文件存為 php.php ,內容如下:
CODE:
[Copy to clipboard]
打開瀏覽器,輸入:
http://localhost/php.php
,將顯示當前伺服器所支持 PHP 的全部信息,可以看到 Server API的模式為:ISAPI 。
或者利用PHP探針檢測
http://xqin.com/index.rar
下載後解壓到你的站點根目錄下並訪問即可
三、安裝 MySQL :
對於MySQL4.0.26下載得到的是mysql-4.0.26-win32.zip,解壓到mysql-4.0.26-win32目錄雙擊執行 Setup.exe 一路Next下一步,選擇安裝目錄為D:\php\MySQL和安裝方式為Custom自定義安裝,再一路Next下一步即可。
安裝完畢後,在CMD命令行中輸入並運行:
CODE:
[Copy to clipboard]
D:\php\MySQL\bin\mysqld-nt -install如果返回Service successfully installed.則說明系統服務成功安裝
新建一文本文件存為MY.INI,編輯配置MY.INI,這里給出一個參考的配置
(
http://xqin.com/iis/my.ini
可以下載後直接保存到WINDOWS或者WINNT目錄使用)
CODE:
[Copy to clipboard]
[mysqld]
basedir=D:/php/MySQL
#MySQL所在目錄
datadir=D:/php/MySQL/data
#MySQL資料庫所在目錄,可以更改為其他你存放資料庫的目錄
#language=D:/php/MySQL/share/your language directory
#port=3306
set-variable = max_connections=800
skip-locking
set-variable = key_buffer=512M
set-variable = max_allowed_packet=4M
set-variable = table_cache=1024
set-variable = sort_buffer=2M
set-variable = thread_cache=64
set-variable = join_buffer_size=32M
set-variable = record_buffer=32M
set-variable = thread_concurrency=8
set-variable = myisam_sort_buffer_size=64M
set-variable = connect_timeout=10
set-variable = wait_timeout=10
server-id = 1
[isamchk]
set-variable = key_buffer=128M
set-variable = sort_buffer=128M
set-variable = read_buffer=2M
set-variable = write_buffer=2M
[myisamchk]
set-variable = key_buffer=128M
set-variable = sort_buffer=128M
set-variable = read_buffer=2M
set-variable = write_buffer=2M
[WinMySQLadmin]
Server=D:/php/MySQL/bin/mysqld-nt.exe保存後復制此MY.INI文件到C:\Windows ( Windows 2000 下為 C:\WINNT)目錄下
回到CMD命令行中輸入並運行:
CODE:
[Copy to clipboard]
net start mysqlMySQL 服務正在啟動 .
MySQL 服務已經啟動成功。
將啟動 MySQL 服務;
DOS下修改ROOT密碼:當然後面安裝PHPMYADMIN後修改密碼也可以通過PHPMYADMIN修改
格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼
例:給root加個密碼xqin.com
首先在進入CMD命令行,轉到MYSQL目錄下的bin目錄,然後鍵入以下命令
mysqladmin -uroot password xqin.com
註:因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了。
D:\php\MySQL\bin>mysqladmin -uroot password xqin.com回車後ROOT密碼就設置為xqin.com了
如果你下載的是 MySQL5.x或者MySQL4.1.x,例mysql-5.0.18-win32:解壓後雙擊執行 Setup.exe ,Next下一步後選擇Custom自定義安裝,再Next下一步選擇安裝路徑這里我們選擇D:\php\MySQL,繼續Next下一步跳過Sign UP完成安裝。
安裝完成後會提示你是不是立即進行配置,選擇是即可進行配置。當然一般安裝後菜單裡面也有配置向導MySQL Server Instance Config Wizar,運行後按下面步驟配置並設置ROOT密碼即可
Next下一步後選擇Standard Configuration
Next下一步,鉤選Include .. PATH
Next下一步,設置ROOT密碼,建議社設置復雜點,確保伺服器安全!
Apply完成後將在D:\php\MySQL目錄下生成MY.INI配置文件,添加並啟動MySQL服務
如果你的MySQL安裝出錯,並且卸載重裝仍無法解決,這里提供一個小工具系統服務管理器
http://xqin.com/iis/ser.rar
,用於卸載後刪除存在的MYSQL服務,重起後再按上述說明進行安裝一般即可成功安裝
四、安裝 Zend Optimizer :
下載後得到 ZendOptimizer-2.6.2-Windows-i386.exe ,直接雙擊安裝即可,安裝過程要你選擇 Web Server 時,選擇 IIS ,然後提示你是否 Restart Web Server,選擇是,完成安裝之前提示是否備份 php.ini ,點確定後安裝完成。我這里安裝到D:\php\Zend
以下兩步的目錄根據你自己的默認WEB站點目錄來選,當然也可以選擇到D:\php\Zend目錄
Zend Optimizer 的安裝向導會自動根據你的選擇來修改 php.ini 幫助你啟動這個引擎。下面簡單介紹一下 Zend Optimizer 的配置選項。以下為本人安裝完成後 php.ini 里的默認配置代碼(分號後面的內容為注釋):
zend_extension_ts="D:\php\Zend\lib\ZendExtensionManager.dll"
;Zend Optimizer 模塊在硬碟上的安裝路徑。
zend_extension_manager.optimizer_ts="D:\php\Zend\lib\Optimizer-2.6.2"
;優化器所在目錄,默認無須修改。
zend_optimizer.optimization_level=1023
;優化程度,這里定義啟動多少個優化過程,默認值是 15 ,表示同時開啟 10 個優化過程中的 1-4 ,我們可以將這個值改為 1023 ,表示開啟全部10個優化過程。
調用phpinfo()函數後顯示:
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with Zend Extension Manager v1.0.9, Copyright (c) 2003-2006, by Zend Technologies with Zend Optimizer v2.6.2, Copyright (c) 1998-2006, by Zend Technologies 則表示安裝成功。
『陸』 要用PHP做一個團購網的API介面,求原理,還有網站收錄介面後自動顯示是怎麼回事 有源碼發份給我,謝謝啦
我也正碰到這個功能,應該是用PHP直接生成一個在線的XML文檔,這份XML文檔因為是從你的網站在線提取的,裡麵包含了團購的數據,所以會隨著網站發布新的團購而自動更新~~~介面收錄則是逆過程,即把那個接收到的在線XML文檔,通過分析詞抓取相應的數據,再把它們顯示出來就可以了,自學的,有不對的地方請指正!!
『柒』 php中的API介面怎麼寫
api介面是具有的特定功能的程序代碼塊,作用是產生或者處理傳輸數據;
其存在的意義在於,不同語言之間的正常交流,包括iOS,Java,PHP,C等,但是所有的程序語言都支持Json和Xml數據類型,所以介面產生數據基本都是json或者xml文件。
怎麼寫?
其實就是正常的功能類和方法,調用時產生需求功能對應的數據,僅此而已,在沒有什麼復雜的邏輯。