《PHP編程:使用PHP如何實(shí)現(xiàn)高效安全的ftp服務(wù)器(一)》要點(diǎn):
本文介紹了PHP編程:使用PHP如何實(shí)現(xiàn)高效安全的ftp服務(wù)器(一),希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
FTP服務(wù)器(File Transfer Protocol Server)是在互聯(lián)網(wǎng)上提供文件存儲(chǔ)和訪問(wèn)服務(wù)的計(jì)算機(jī),它們依照FTP協(xié)議提供服務(wù). FTP是File Transfer Protocol(文件傳輸協(xié)議).顧名思義,就是專門(mén)用來(lái)傳輸文件的協(xié)議.簡(jiǎn)單地說(shuō),支持FTP協(xié)議的服務(wù)器就是FTP服務(wù)器.PHP實(shí)例
摘要:
PHP實(shí)例
本文主要闡述使用PHP的swoole擴(kuò)展實(shí)現(xiàn)ftp服務(wù)器,同時(shí)擴(kuò)展ftp服務(wù)器個(gè)性化功能和平安性.真正實(shí)現(xiàn)一個(gè)自己完全掌控的ftp服務(wù)器,可以個(gè)性化定制的ftp服務(wù)器.
PHP實(shí)例
正文:
PHP實(shí)例
FTP服務(wù)器想必大家都不陌生,使用起來(lái),現(xiàn)成的軟件也很多.不過(guò)免費(fèi)的軟件功能有時(shí)候并不符合自己需求,又無(wú)法二次開(kāi)發(fā),付費(fèi)軟件價(jià)格又比較高昂.PHP的swoole擴(kuò)展,是PHP語(yǔ)言的高性能網(wǎng)絡(luò)通信框架,提供了PHP語(yǔ)言的異步多線程服務(wù)器,異步TCP/UDP網(wǎng)絡(luò)客戶端,異步MySQL,數(shù)據(jù)庫(kù)連接池,AsyncTask,消息隊(duì)列,毫秒定時(shí)器,異步文件讀寫(xiě),異步DNS查詢.
PHP實(shí)例
Swoole可以廣泛應(yīng)用于互聯(lián)網(wǎng)、移動(dòng)通信、企業(yè)軟件、網(wǎng)絡(luò)游戲、物聯(lián)網(wǎng)、車聯(lián)網(wǎng)、智能家庭等領(lǐng)域. 使用PHP+Swoole作為網(wǎng)絡(luò)通信框架,可以使企業(yè)IT研發(fā)團(tuán)隊(duì)的效率大大提升,更加專注于開(kāi)發(fā)創(chuàng)新產(chǎn)品.
PHP實(shí)例
? Swoole底層內(nèi)置了異步非阻塞、多線程的網(wǎng)絡(luò)IO服務(wù)器.PHP程序員僅需處理事件回調(diào)即可,無(wú)需關(guān)心底層.與Nginx/Tornado/Node.js等全異步的框架不同,Swoole既支持全異步,也支持同步.PHP實(shí)例
有了這個(gè)基礎(chǔ),基于TCP/IP協(xié)議的服務(wù)器開(kāi)發(fā)就變得容易了.或許大家會(huì)問(wèn),C#等其他語(yǔ)言同樣可以實(shí)現(xiàn)啊,為什么用PHP呢?我想主要考慮的還是開(kāi)發(fā)效率.PHP是無(wú)需編譯的腳本語(yǔ)言,開(kāi)發(fā)部署速度快.
PHP實(shí)例
無(wú)需贅言,這里列出步驟:
PHP實(shí)例
00 準(zhǔn)備平臺(tái),我這里使用的CentOS7;
PHP實(shí)例
01 安裝php和swoole擴(kuò)展,請(qǐng)參考http://wiki.swoole.com/wiki/page/6.html;
PHP實(shí)例
02 設(shè)置字符集,由于ftp處理文件名容易出現(xiàn)亂碼,建議將操作系統(tǒng)的字符集設(shè)置成GB18030,這樣與Windows保持一致,目前大部分ftp客戶端雖然也支持utf8文件名編碼,但是,使用起來(lái)比不如意.如何好的解決方案請(qǐng)不吝告知,非常感謝;
PHP實(shí)例
03 開(kāi)始編寫(xiě)php程序,測(cè)試php程序;
PHP實(shí)例
04 部署php版的ftp服務(wù)器.
PHP實(shí)例
本文要實(shí)現(xiàn)ftp服務(wù)器的功能目標(biāo)有:PHP實(shí)例
? * 用戶,組管理;
* 密碼自助修改與重置;
* 文件夾權(quán)限管理;
* IP訪問(wèn)控制;
* 在線用戶查看;
* 磁盤(pán)空間使用查看;
* SSL支持,保護(hù)密碼及文件的傳輸平安;
* 內(nèi)置web管理頁(yè)面,方便進(jìn)行遠(yuǎn)程管理. PHP實(shí)例
項(xiàng)目目錄: PHP實(shí)例
FtpServer
|
+-conf
|?
|
|
+-config.php //FTP配置文件
|
+-ssl.crt //ssl證書(shū)
|
+-ssl.key //ssl密鑰
|
+-inc
|
|
|
+-CSmtp.php //smtp發(fā)郵件類,用于FTP密碼發(fā)送和重置
|
+-ShareMemory.php //共享內(nèi)存操作類
|
+-User.php //用戶管理、文件權(quán)限管理、IP訪問(wèn)控制
|
+-logs //日志文件
|
+-reference //參考文檔
|
+-web
|
|
|
+-wwwroot //FTP Web管理網(wǎng)站
|
+-CWebServer.php //FTP內(nèi)置http服務(wù)器
|
+-CFtpServer.php //FTP服務(wù)器主程序
+-MyFtpServer.php? //FTP入口程序?
PHP實(shí)例
此篇文章先給大家介紹到這里,后續(xù)還會(huì)持續(xù)更新.關(guān)于使用PHP如何實(shí)現(xiàn)高效平安的ftp服務(wù)器(二),可以點(diǎn)擊了解詳情.PHP實(shí)例
《PHP編程:使用PHP如何實(shí)現(xiàn)高效安全的ftp服務(wù)器(一)》是否對(duì)您有啟發(fā),歡迎查看更多與《PHP編程:使用PHP如何實(shí)現(xiàn)高效安全的ftp服務(wù)器(一)》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/8204.html