Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 一区二区三区亚洲区,精品女同一区二区三区免费播放,2022国产91精品久久久久久

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          ThinkPHP之文件上傳一氣呵成就是這么暢快(RN

          ThinkPHP之文件上傳一氣呵成就是這么暢快(RNG加油)

          果你曾經(jīng)使用過其他語言進(jìn)行過WEB開發(fā)的話,有可能會覺得文件上傳很麻煩,往往需要各種包,需要寫大量的代碼。但是今天跟大家分享的是ThinkPHP文件上傳的教程,通過這篇教程,讓你愛上文件上傳。

          圖片來自網(wǎng)絡(luò)

          在ThinkPHP中使用文件上傳功能無需進(jìn)行特別處理。例如,下面是一個帶有附件上傳的表單提交:

          文件上傳HTML代碼

          注意,要使用上傳功能 你的表單需要設(shè)置 enctype="multipart/form-data" method="post"

          文件上傳控制器代碼

          需要注意的事,雖然我們設(shè)置了maxSize為3M,但是大多PHP的默認(rèn)上傳限制為2M,所以當(dāng)我們上傳大小超過2M的文件時(shí)會出現(xiàn)下面的錯誤:

          超出PHP上傳限制

          我們需要打開php.ini文件,將upload_max_size修改為合適的大小即可。

          ThinkPHP提供了靈活的上傳屬性設(shè)置,我們可以根據(jù)需要設(shè)置。Upload類支持的屬性設(shè)置包括:

          Upload類屬性

          如果我們需要一次性上傳多個文件,可以使用下面的代碼:

          上傳多個文件代碼

          文件上傳成功之后,我們可以通過$info來獲取文件上傳信息,如下:

          上傳文件信息

          可以看出,info變量中包含一個file數(shù)組,其中file對應(yīng)表單name值,file數(shù)組中包含原始文件名、文件格式、文件大小、表單name值、文件擴(kuò)展名、文件MD5、文件sha1值、文件保存名、文件保存路徑。我們可以通過$info['file']['savepath'].$info['file']['savename']來獲取文件的實(shí)際存儲地址。

          結(jié)論

          使用ThinkPHP上傳文件非常輕松,只要稍加聯(lián)系就可以掌握基本的上傳功能。如果需要更進(jìn)一步的操作,可以通過ThinkPHP官方文檔學(xué)習(xí)。今天就到這里了,小編要去看比賽了,RNG牛逼恭喜WE,希望RNG、WE匯師鳥巢!

          如果您覺得小編的教程對您有所幫助,請點(diǎn)擊關(guān)注支持小編,您的關(guān)注是對小編最大的鼓勵。

          了解過世界最大的PHP站點(diǎn),F(xiàn)acebook的后臺技術(shù)后,今天我們來了解一個百萬級PHP站點(diǎn)的網(wǎng)站架構(gòu):Poppen.de。Poppen.de是德國的一個社交網(wǎng)站,相對Facebook、Flickr來說是一個很小的網(wǎng)站,但它有一個很好的架構(gòu),融合了很多技術(shù),如 Nigix、MySql、CouchDB、Erlang、Memcached、RabbitMQ、PHP、Graphite、Red5以及Tsung。

          Poppen.de目前有200萬注冊用戶數(shù)、2萬并發(fā)用戶數(shù)、每天20萬條私有消息、每天25萬登錄次數(shù)。而項(xiàng)目團(tuán)隊(duì)有11個開發(fā)人員,兩個設(shè)計(jì),兩個系統(tǒng)管理員。該站點(diǎn)的商業(yè)模式采用免費(fèi)增值模式,用戶可以使用搜索用戶、給好友發(fā)送消息、上載圖片和視頻等功能。

          如果用戶想享受不受限制發(fā)送消息和上載圖片,那么就得根據(jù)需要支付不同類型的會員服務(wù),視頻聊天及網(wǎng)站其他服務(wù)也采用同樣的策略。

          Nginx

          Poppen.de 所有的服務(wù)都是基于Nginx服務(wù)上的。前端有兩臺Nginx服務(wù)器在高峰期提供每分鐘15萬次請求的負(fù)載,每個機(jī)器已經(jīng)有四年壽命,并且只有一個CPU 和3GB RAM。Poppen.de擁有三臺獨(dú)立的圖像服務(wù)器,由三臺Nginx服務(wù)器為*.bilder.poppen.de提供每分鐘8萬次請求服務(wù)。

          Nginx 架構(gòu)中一個很酷的設(shè)計(jì)就是有很多請求是由Memcached處理的,因此請求從緩存中獲取內(nèi)容而不需要直接訪問PHP機(jī)器。比如,用戶信息頁(user profile)是網(wǎng)站需要密集處理的內(nèi)容,如果把用戶信息頁全部緩存到Memcached上,那么請求直接從Memcached上獲取內(nèi)容。 Poppen.de的Memcached每分鐘可以處理8000次請求。

          架構(gòu)中有三個Nginx圖像服務(wù)器提供本地圖像緩存,用戶上載圖 像到一個中央文件服務(wù)器。當(dāng)向這三個Nginx之一中請求圖像時(shí),如果服務(wù)器本地中沒有存在該圖像,則從中央文件服務(wù)器下載到該服務(wù)器上作緩存并提供服 務(wù)。這種負(fù)載均衡的分布式圖像服務(wù)器架構(gòu)設(shè)計(jì)可以減輕主要存儲設(shè)備的負(fù)載。

          到了這里可能很多人會覺得這些有些難懂, 沒關(guān)系,我為大家準(zhǔn)備了一套精品PHP教程,里面涵蓋Nginx,Memcached學(xué)習(xí)教程,如果你已經(jīng)會了,想要精通進(jìn)階中高級PHP,我這里也有專注于PHP中高級進(jìn)階的教程,點(diǎn)擊下方標(biāo)題鏈接即可獲取方法!

          全套laravel框架、ThinkPHP框架全套教程分享,PHP程序員福利!

          PHP開發(fā)三年只懂增刪改查?那是你沒有規(guī)劃好php學(xué)習(xí)路線

          PHP-FPM

          該網(wǎng)站運(yùn)行在PHP- FPM上。共有28臺雙CPU、6GB內(nèi)存的PHP機(jī)器,每個機(jī)器上運(yùn)行100個PHP-FPM的工作線程。使用啟用了APC的PHP5.3.x。 PHP5.3可以降低CPU和內(nèi)存使用率的30%以上。

          程序代碼是基于Symfony1.2框架之上開發(fā)的。一是可以使用外部資源,二是 能夠提高項(xiàng)目開發(fā)進(jìn)度,同時(shí)在一個著名的框架上可以讓新開發(fā)人員更容易加入到團(tuán)隊(duì)中來。雖然沒有任何事情都是十全十美的,但可以從Symfony框架中得 到很多好處,讓團(tuán)隊(duì)可以更多的精力放在Poppen.de的業(yè)務(wù)開發(fā)上去。

          網(wǎng)站性能優(yōu)化使用XHProf,這是Facebook開源出來的一個類庫。這個框架非常容易個性化和配置,能夠可以緩存大部分高代價(jià)的服務(wù)器計(jì)算。

          MySQL

          MySQL是網(wǎng)站主要的RDBMS。網(wǎng)站又幾個MySql服務(wù)器:一臺4CPU、32GB的服務(wù)器存儲用戶相關(guān)信息,如基本信息、照片描述信息等。這臺機(jī)器已經(jīng)使用了4 年,下一步計(jì)劃會使用共享集群來替換它。目前仍基于這個系統(tǒng)上進(jìn)行設(shè)計(jì),以簡化數(shù)據(jù)訪問代碼。根據(jù)用戶ID進(jìn)行數(shù)據(jù)分區(qū),因?yàn)榫W(wǎng)站中大部分信息都是以用戶 為中心的,如照片、視頻、消息等。

          有三臺服務(wù)器按主-從-從配置架構(gòu)提供用戶論壇服務(wù)。一臺從服務(wù)器負(fù)責(zé)網(wǎng)站自定義消息存儲,到現(xiàn)在有 2.5億條消息。另外四臺機(jī)器為主-從配置關(guān)系。另外由4臺機(jī)器配置成NDB族群專門服務(wù)于密集型寫操作數(shù)據(jù),如用戶訪問統(tǒng)計(jì)信息。

          數(shù)據(jù)表設(shè)計(jì)盡量避免關(guān)聯(lián)操作,盡可能緩存最多的數(shù)據(jù)。當(dāng)然,數(shù)據(jù)庫的結(jié)構(gòu)化規(guī)范已經(jīng)完全被破壞掉了。因此,為了更容易搜索,數(shù)據(jù)庫設(shè)計(jì)創(chuàng)建了數(shù)據(jù)挖掘表。大部分表是MyISAM型表,可以提供快速查找。現(xiàn)在的問題是越來越多的表已經(jīng)全表鎖住了。Poppen.de正考慮往XtraDB存儲引擎上遷移。

          Memcached

          網(wǎng)站架構(gòu)中Memcached應(yīng)用相當(dāng)多,超過45GB的高速緩存和51個節(jié)點(diǎn)。緩存了Session會話、視圖緩存以及函數(shù)執(zhí)行緩存等。架構(gòu)中有一個系統(tǒng) 當(dāng)記錄被修改時(shí)可以自動地把數(shù)據(jù)更新到緩存中去。未來改善緩存更新的可能方案是使用新的Redis Hash API或者M(jìn)ongoDB。

          RabbitMQ

          在 2009年中開始在架構(gòu)中使用RabbitMQ。這是一個很好的消息解決方案,便于部署和集中到這個架構(gòu)中去,在LVS后運(yùn)行了兩臺RabbitMQ服務(wù) 器。在上個月,已經(jīng)把更多的東西集成到該隊(duì)列中,意味著同一時(shí)刻有28臺PHP服務(wù)器每天要處理50萬次請求。發(fā)送日志、郵件通知、系統(tǒng)消息、圖像上載等 更多的東西到這個隊(duì)列中。

          應(yīng)用PHP-FPM中的fastcgi_finish_request()函數(shù)集成隊(duì)列消息,可以把消息異步發(fā) 送到隊(duì)列中。當(dāng)系統(tǒng)需要給用戶發(fā)送HTML或JSON格式響應(yīng)時(shí),就調(diào)用這個函數(shù),這樣用戶就沒有必要等到PHP腳本清理。

          這個系統(tǒng)可以改善架構(gòu)資源管理。例如,在高峰期服務(wù)每分鐘可以處理1000次登錄請求。這表示有1000并發(fā)更新用戶表保存用戶的登錄時(shí)間。由于使用了隊(duì)列機(jī)制,可以 按相反的順序來運(yùn)行這些查詢。如果需要提高處理速度,只需要增加更多的隊(duì)列處理者即可,甚至可以增加更多的服務(wù)器到這集群中去,而不需要修改任何配置和部 署新節(jié)點(diǎn)。

          CouchDB

          日志存儲CouchDB運(yùn)行在一臺機(jī)器上。在這臺機(jī)器上可以根據(jù)模塊/行為進(jìn)行日志查詢 /分組,或者根據(jù)錯誤類型等等。這對定位問題非常有用。在使用日志聚合服務(wù)CouchDB之前,不得不逐臺登錄到PHP服務(wù)器上設(shè)法日志分析定位問題,這 是非常麻煩的。而現(xiàn)在把所有的日志集中到隊(duì)列中保存到CouchDB中,可以集中進(jìn)行問題檢查和分析。

          Graphite

          網(wǎng)站使用Graphite采集網(wǎng)站實(shí)時(shí)信息并統(tǒng)計(jì)。從請求每個模塊/行為到Memcached的命中和未命中、RabbitMQ狀態(tài)監(jiān)控以及Unix負(fù)載等等。Graphite服務(wù)平均每分鐘有4800次更新操作。實(shí)踐已經(jīng)證實(shí)要監(jiān)測網(wǎng)站發(fā)發(fā)生什么是非常有用的,它的簡單文本協(xié)議和繪圖功能可以方便地即插即 用的方式用于任何需要監(jiān)控的系統(tǒng)上。

          一件很酷的事情是使用Graphite同時(shí)監(jiān)控了網(wǎng)站的兩個版本。一月份部署了Symfony框架新 版本,以前代碼作為一個備份部署。這就意味著網(wǎng)站可能會面臨性能問題。因此可以使用Graphite來對兩個版本在線進(jìn)行對比。

          發(fā)現(xiàn)新版本上的Unix負(fù)載表較高,于是使用XHProf對兩個版本進(jìn)行性能分析,找出問題所在。

          Red5

          網(wǎng)站為用戶也提供了兩種類型的視頻服務(wù),一種是用戶自己上載的視頻,另外一種是視頻聊天,用戶視頻互動和分享。到2009年年中,每月為用戶提供17TB的流量服務(wù)。

          Tsung

          Tsung 是一個Erlang編寫的分布式基準(zhǔn)分析工具。在Poppen.de網(wǎng)站中主要用于HTTP基準(zhǔn)分析、MySQL與其他存儲系統(tǒng)(XtraDB)的對比分 析。用一個系統(tǒng)記錄了主要的MySQL服務(wù)器的流量,再轉(zhuǎn)換成Tsung的基準(zhǔn)會話。然后對該流量進(jìn)行回放,由Tsung產(chǎn)生數(shù)以千計(jì)的并發(fā)用戶訪問實(shí)驗(yàn) 室的服務(wù)器。這樣就可以在實(shí)驗(yàn)環(huán)境中與真實(shí)場景非常接近。

          、ThinkPHP介紹

          ThinkPHP是一款優(yōu)秀的網(wǎng)站內(nèi)容管理系統(tǒng),因其功能強(qiáng)大,操作簡單,擁有海量用戶
          和其他CMS一樣,安全漏洞也是其無法避免的問題。雖然官方不斷發(fā)布補(bǔ)丁、升級版本,但安全問題依然存在。
          下面我們講述如何在不修復(fù)程序的情況下,通過安全加固的方法,快速解決ThinkPHP系統(tǒng)的安全問題。

          二、安全防護(hù)方法

          要解決ThinkPHP安全問題,我們需要使用一款網(wǎng)站專用防護(hù)軟件-【護(hù)衛(wèi)神·網(wǎng)站鎖系統(tǒng)】。
          【護(hù)衛(wèi)神·網(wǎng)站鎖系統(tǒng)】通過部署ACL權(quán)限策略、安全訪問策略和零信任策略,對每一個文件進(jìn)行細(xì)粒度加固,對每一次訪問行為進(jìn)行精準(zhǔn)控權(quán),對網(wǎng)站后臺做零信任防護(hù),從而杜絕黑客入侵,有效防掛馬、防黑鏈、防篡改,讓網(wǎng)站安全無憂!
          該系統(tǒng)支持幾乎所有CMS系統(tǒng),具有一鍵部署、不限站點(diǎn)數(shù)量、不限部署次數(shù)、不改網(wǎng)頁代碼、無視網(wǎng)頁木馬、后臺授權(quán)通知等功能特點(diǎn)。



          三、部署流程

          網(wǎng)站鎖使用非常簡單,只需三步:①下載安裝軟件->②添加網(wǎng)站策略-->③后臺訪問授權(quán)

          1、下載安裝軟件

          首先進(jìn)入網(wǎng)站鎖官網(wǎng)(https://www.hws.com/soft/wzs/)下載軟件到服務(wù)器安裝。



          安裝后需要注冊軟件,如果沒有授權(quán),請先到 https://u.hws.com/buy/soft.asp?id=8 申請免費(fèi)試用。
          小提示:申請授權(quán)需要先注冊一個用戶名(用于管理授權(quán)),注冊地址:https://u.hws.com/user/reg.asp



          注冊完成后,會在桌面生成“網(wǎng)站鎖使用說明.txt”,后續(xù)備用。



          2、添加網(wǎng)站策略

          打開網(wǎng)站鎖,進(jìn)入“網(wǎng)站策略”-“添加策略”。
          選擇需要部署安全的網(wǎng)站和匹配的安全策略,點(diǎn)擊“確定”開始部署。



          ① 可以點(diǎn)擊“智能匹配”圖標(biāo)自動選擇安全模板。
          ② ThinkPHP的后臺是和首頁集合在一起的,因此無法做后臺保護(hù),這里留空。注意需要去掉勾選“后臺保護(hù)”。

          部署后,可以點(diǎn)擊“刷新”按鈕,查看部署結(jié)果。當(dāng)狀態(tài)為“成功”或“正常”時(shí),表示部署成功。

          3、后臺訪問授權(quán)

          由于ThinkPHP的后臺是和首頁集合在一起的,因此無法做后臺保護(hù),可以直接訪問后臺。



          四、服務(wù)器加固

          網(wǎng)站加固后,還需要對服務(wù)器進(jìn)行加固,因?yàn)榉?wù)器一旦被入侵,所有網(wǎng)站都會遭殃。
          服務(wù)器加固只需兩步搞定:①加固系統(tǒng)安全->②部署防護(hù)系統(tǒng)

          1、加固系統(tǒng)安全

          加固內(nèi)容:更新系統(tǒng)補(bǔ)丁、常用軟件加固、系統(tǒng)權(quán)限加固、禁用危險(xiǎn)服務(wù)、刪除危險(xiǎn)組件、防火墻加固。
          如果您不知道怎么操作,就找護(hù)衛(wèi)神的工程師幫您弄吧,省時(shí)省心。

          2、部署防護(hù)系統(tǒng)

          推薦使用【護(hù)衛(wèi)神·入侵防護(hù)系統(tǒng)】,一款服務(wù)器專用防火墻。
          護(hù)衛(wèi)神·入侵防護(hù)系統(tǒng)擁有數(shù)十項(xiàng)安全模塊,在黑客入侵的每一個環(huán)節(jié)進(jìn)行攔截,將一切不速之客拒之門外,值得每臺服務(wù)器安裝。



          入侵防護(hù)系統(tǒng)設(shè)置方法請點(diǎn)這里:https://www.hws.com/help/sec/1454.html
          以上就是ThinkPHP安全防護(hù)方法,不改任何代碼,只需點(diǎn)幾下鼠標(biāo)即可徹底解決安全問題。雖然ThinkPHP系統(tǒng)漏洞多多,但是有了護(hù)衛(wèi)神·網(wǎng)站鎖系統(tǒng),安全就不再是問題!


          主站蜘蛛池模板: 少妇激情AV一区二区三区| 激情综合丝袜美女一区二区| 免费一区二区无码视频在线播放| 天海翼一区二区三区高清视频 | 人妻无码一区二区三区| 亚洲蜜芽在线精品一区| 一区二区免费在线观看| 午夜视频一区二区| 精品国产日韩一区三区| 日韩一区二区三区射精| 亚洲日韩AV一区二区三区四区| 亚洲一区二区影视| 亚洲熟妇av一区| 亚洲综合色一区二区三区| 精品乱码一区二区三区四区| 日韩免费无码视频一区二区三区| 亚洲av无码不卡一区二区三区| 亚洲色精品vr一区二区三区| 一区二区三区无码视频免费福利 | 一区二区不卡久久精品| 亚洲国产欧美国产综合一区| 无码少妇一区二区| 中文字幕一区二区三匹| 欧美日韩综合一区二区三区| 国内精品视频一区二区三区| 在线视频一区二区三区四区| 日韩AV在线不卡一区二区三区| 日韩熟女精品一区二区三区| 国产成人精品一区二区三区| 国产亚洲一区二区手机在线观看| 一夲道无码人妻精品一区二区| 国产一区二区三区91| 色狠狠色狠狠综合一区| 精品无码国产一区二区三区麻豆| 国产乱码精品一区二区三区四川| 国产在线观看91精品一区| 色妞AV永久一区二区国产AV| 末成年女AV片一区二区| 国产精品一区二区毛卡片| 一区二区三区免费精品视频| 国产一区二区三区久久|