phpapi下載
❶ 怎麼用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了!
❷ 如何在linux安裝php開發環境
我一般會選用源碼安裝 php,安裝 php 的過程指定要安裝的擴展,但是避免不了缺少某個擴展未安裝導致程序運行報錯的問題。以 fileinfo 為例,介紹一下怎麼添加 php 擴展。
1. 准備
通常遇到報錯:xxx function undefined,而這個函數是系統函數的話,那一定是你缺少某個擴展。添加擴展也非常簡單。首選要確認當前的 php 是哪個版本,不同版本的 php 擴展會有些許出入。然後找到 Php 源碼目錄,也就是從網上下載下來並且解壓的 php 文件包。添加擴展的時候需要在源碼包裡面去執行命令。
2. 安裝 fileinfo 擴展
1. 確認 php 版本
php -v
# PHP 7.4.4 (cli)
2. 找到 php 可執行文件的位置
whereis php
# php: /usr/local/php /usr/local/php/bin/php
可以看出 php 執行文件在 /usr/local/php/bin 目錄裡面
那麼嘗試執行 phpize,保證這個文件存在,phpize 命令在添加擴展的時候需要用到
/usr/local/php/bin/phpize -v
# Configuring for:
# PHP Api Version: 20190902
# Zend Mole Api No: 20190902
# Zend Extension Api No: 320190902
3.進入php源碼目錄
我的習慣是網路下載的軟體會放在 /usr/local/src 下面,
cd /usr/local/src/php-7.4.4
cd /etc
cd fileinfo
擴展都在源碼目錄的 etc 下面,裡面有 curl,gd,ftp 等等擴展目錄,我要安裝 fileinfo,所以到 fileinfo 目錄裡面
4.開始安裝
確定目錄下面有 config.m4 文件,如果沒有,應該會有 config0.m4 文件,把 config0.m4 復制一份為 config.m4,如果沒有這個文件,會報錯:can not found config.m4
/usr/local/php/bin/phpize
./configure
make && make install
如果這幾行命令運行下來都沒有報錯,那麼說明擴展文件已經生成,並且已經自動移入相應位置。接下來就是修改 php.ini,追加 extension=fileinfo.so 到 php.ini 中。
5.修改php.ini,載入擴展文件
查看 php.ini 的位置
php -i | grep php.ini
#Configuration File (php.ini) Path => /usr/local/php/etc
#Loaded Configuration File => /usr/local/php/etc/php.ini
可以看到 php.ini 的位置: /usr/local/php/etc/php.ini
vim /usr/local/php/etc/php.ini
#添加extension=fileinfo.so,保存
php -m | grep fileinfo
#fileinfo
看到輸出 fileinfo,至此,fileinfo 擴展安裝完畢!另外可以使用 pecl 命令安裝,更方便快捷!
❸ php支付寶介面
登錄支付寶,然後有個商戶版的,進入申請雙功能介面,
然後下載下來的介麵包文件有很多語言的源碼
<?php
//這里有一些教程希望能幫到你
//http://www.php100.com/html/shipinjiaocheng/PHP100shipinjiaocheng/2010/0815/5224.html
?>
望採納
❹ php-redis擴展 怎麼裝安裝啊
1、下載PHPredis安裝包,可以去去pecl官網下載
2、解壓安裝並進入Redis目錄
[root@Redis ~]# tar xzf redis-2.2.5.tgz
[root@Redis ~]# cd redis-2.2.5
3、在Redis文件夾下,生成configure配置文件
[root@Redis redis-2.2.5]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:20090626
Zend Mole Api No:20090626
Zend Extension Api No:220090626
[root@Redis redis-2.2.5]# ./configure --with-php-config=/usr/local/php/bin/php-config
[root@Redis redis-2.2.5]# make
[root@Redis redis-2.2.5]# make install
Installing shared extensions:/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/
cp: cannot create regularfile`/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/#INST@6338#': Permission denied
make:***[install-moles]Error1
注意:一定要用root用戶。
[root@Redis redis-2.2.5]# su
Password:
[root@web redis-2.2.5]# make install
4、在PHP配置文件php.ini裡面載入Redis擴展
extension=redis.so
5、查看phpinfo,Redis擴展是否載入
redis
Redis Support enabled
Redis Version 2.2.5
至此,Redis擴展已經安裝成功並載入,可以用PHP操作Redis了。
附:
windows下安裝Redis擴展就更加簡單了,找到對應的版本,下載dll文件,放到PHP目錄下面的ext,修改PHP的配置文件php.ini,載入extension=php_redis.dll,重啟Apache,查看phpinfo是否有Redis,如果有就恭喜你,已經安裝成功了,就是這么簡單。
❺ php介面文檔生成工具phpdoctor怎麼用
一、phpxref↑
PHPXref是一個易用級的PHP項目文檔生成工具,它生成Html的文檔—-結構清晰、明了。PHPXref可以方便的在不同平台下(Linux with Perl,Win32 with EXE)幫助你生成某一目錄下所有php文件的「資源」索引文檔。這些「資源」,包括:Class(類)、Function(函數)、Variable(變數)、Constant(常量)…..。PHPXref給我們列出了這些資源的定義與引用的詳細情況。我們可以很方便地找到某一個函數(變數)在何處被定義,在何處被調用(引用)。 這里以Wordpress為例,它能Wordpress中所有的函數、變數、常量等分類記錄,生成一個HTML網頁列表,你可以輕松地在這個列表中找到某個函數在什麼位置被定義,在什麼位置被引用。如果你是Wordpress插件開發者或者想學習研究Wordpress的人,項目文檔的作用比較明顯。 PHPXref官方有個已經製作好的Wordpress的分析文檔:http://phpxref.com/xref/wordpress/,此外,PHPXref還製作了多種PHP程序的分析文檔,有興趣的可以Google站內搜索一下。 PHPXref的主要功能包括:
文件管理。無論要找什麼文件,用它能很快地搜索到,如果你的文件中有符合語法規則的注釋,PHPXref還能將它列在文件名的旁邊,更容易了解這個文件的功能用途,也不用為了找一個文件翻遍整個文件夾,打開每個文件查找注釋了。
函數、變數、常量、類管理。Wordpress內置了多種功能強大的函數、類,無論是字元處理還是遠程URL讀取等都有現成的函數,但我們往往 不知道這個函數能在Wordpress裡面找到,現在容易多了,搜索一下就找到了,如果在開發過程中遇到某個Wordpress函數,不知道它是干什麼用 的,這時候就得找到這個函數在哪裡定義的,可是Wordpress裡面上百個文件上哪找去?還是用PHPXref好了。
文件包含管理。Wordpress中需要很多 include,require包含別的文件,但偶爾也會遇到重復包含導致出錯,雖然require_once可以解決,但我們也最好要了解某個腳本包含 了哪些文件,要調用這個文件時也心中有數。PHPXref提供了每個文件的包含文件列表和被包含的文件。
源代碼高亮。這個功能也是比較實用的,但在實際測試中偶爾會出錯。
出色的關聯功能。在瀏覽源代碼時,將滑鼠指到某個函數名,就會在滑鼠旁邊出現函數的定義頁面,以及被使用次數,此外,還對使用較多的變數名,也是可以直接有個頁面顯示所有的關於這個變數的使用情況。
簡介下windows下其使用過程:
1、下載:官方網站:phpxref官方sf網站
2、使用(以下載windows版本為例):通過以上下載你將得phpxref-0.7-win32.zip壓縮包。
步驟一:解壓phpxref-0.7-win32.zip。進入phpxref-0.7-win32(註:不用安裝的,所以你不用習慣性的去點擊.exe可執行文件),你將看一個名為:source的目錄—它很關鍵;
步驟二:復制你的項目文件到上面提到的source目錄。
步驟三:雙擊phpxref.exe;
步驟四:如果項目比較大,請耐心等待數秒鍾。
步驟五:進入和source目錄同級的output目錄,你將看到一些東西。呵呵,雙擊index.html開始觀看你的項目文檔,去嘗試吧,它能告訴你的很多哦。
PHPXref還提供了在Linux下生成文檔的版本,但我很少用,也沒有去測試了,我想更多數人需要的還是Win系統下的,如果有需要,把Win下生成的文檔可以搬到伺服器上去供大家訪問。但PHPxref生成的文檔實在太大了,一個1.2MB的Wordpress(壓縮包),解壓後再生成文檔,居然要80多 MB的位置!壓縮完後也需要接近20MB。 除了用PHPXref來生成已有的Wordpress或其他PHP示範程序(如Discuz)進行學習外,用PHPXref來生成自己製作的PHP 程序,進行檢驗錯誤或者是整理代碼資源也很有用
二、PHP Doctor↑
安裝php支持(若你有php環境支持,可以略去),設置環境變數path,把php 的安裝路徑加上,比如php 安裝在d:/php5/
下載phpdoctor,可以去官網下載把下載的壓縮包解壓到任何地方
配置phpdoctor, phpdoctor 最基本的配置,復制一個ini文件進行就該就好
//源碼路徑,比如您的源碼路徑d:work/phptest,如下設置
source_path=「d:work/phptest」
//生成的html 文檔保存路徑,默認是保存在當前目錄下apidocs(系統自動創建),可以更改為其他目錄,比如
d = "apidocs"或 d = "d:work/doc"
生成文檔
打開你的cmd,先切換到你的phpdoctor 安裝路徑,然後執行下面代碼
php phpdoc.php <config_file>
❻ PHP典型模塊與項目實戰大全:PHP文件下載的原理及實現
PHP文件下載的原理及實現
通常文件下載過程是十分簡單的 建立一個鏈接指向到目標文件就可以了 例如下面的鏈接
<a href=// xxx /xxx rar>點擊下載文件</a>
但是 實際情況可能會稍復雜 比如需要用戶填寫完整注冊信息後才可以下載該文件 這時最先想到的是使用Redirect的方式 下面介紹兩種方式
( )用Redirect方式 先檢查表格是否已經填寫完畢和完整 然後將鏈接指到該文件 這樣用戶就可以下載 請看下面的示例代碼
<?php
/*文件功能 檢查變數form是否完整*/
if($form){
//重新定向瀏覽器指向
Header( Location: // // xxx /xxx rar )
exit;
}
?>
( )根據下載文件的序號來查找 鏈接的形式如下
<a href= // xxx /download php?id= >點擊下載文件</a>
上面的鏈接使用ID方式接收要下載文件的編號 然後再用Redirect的方式連接到真實的文件鏈接
以上這兩種方法雖然實現了文件的下載功能 但是缺點是直接暴露了文件所屬的路徑 而且沒有防盜鏈的功能 所以上面的方式是簡單直接但存在安全隱患的文件下載方式 在PHP中 通常是利用header()函數和fread()函數來實現安全的文件下載
例如 需要下載的是一個文件名為xxx rar的文件 首先創建文件是download php的PHP文件 通過前面的例子很容易通過文件的ID號從資料庫中得到待下載文件的真實位置 在獲得文件的真實存儲位置後 可缺培悉以通過header()函數的location參數直接重定向到這個文件 但是這樣仍然是不安全的 因為某些下載軟體還是可以通過重定向分析獲得該文件的位置信息 因此需要用另外一種方法 就是PHP的文件處理API函數 它是通過fread()函數把文件直接輸出到瀏覽器提示用戶下載 這樣所有的處理都是在伺服器端完成的 因此用戶就無法獲得文件具體存儲位置信息的 示例代碼如下
<?
$file_name = xxx rar ; //下載文件名
$file_dir = /up/ ;中纖 //下載文件存放目錄
//檢查文件是否存在
if (! file_exists ( $file_dir $file_name )) {
echo 文件找不到 ;
exit ()
} else {
//打開文件
$file = fopen ( $file_dir $file_name r )
//輸入文件標簽
Header ( Content type: application/octet stream )
Header ( Accept Ranges: bytes )
Header ( Accept Length: filesize ( $file_dir $file_name ) )
Header ( Content Disposition: attachment; filename= $file_name )
//輸出文件內容
//讀取文件內容並直接輸出到瀏覽器
echo fread ( $file filesize ( $file_dir $file_name ) )
fclose ( $file )
exit ()
}
?>
【代碼解讀】
上述代碼中 程序發送Header信息是用來告訴Apache和瀏覽器下載文件的相關信息的 content type的含義代表文件MIME類型是文件流格式 如果在Apache配置裡面把文件的MIME類型設為application/octet stream(如add application/octet stream xxx rar) 那麼瀏覽器(客戶端伏乎)就會知道 這是一個文件流格式的文件並提示用戶下載 Accept Ranges是一個響應頭標 它允許伺服器指明將在給定的偏移和長度處 為資源組成部分的接受請求 該頭標的值被理解為請求范圍的度量單位 Content Length是指定包含於請求或響應中數據的位元組長度 例如 Content Length: Content Disposition:attachment是用來告訴瀏覽器 文件是可以當做附件被下載 下載後的文件名稱為$file_name該變數的值
運行download php文件 效果如圖 所示 從圖中可以看到文件按照預想的方式被提示下載 單擊 保存 按鈕將文件保存在本地
圖 PHP文件安全下載
返回目錄 PHP典型模塊與項目實戰大全
編輯推薦
Java Web開發詳解
PHP Web開發學習實錄
lishixin/Article/program/PHP/201311/21519