1. 程式人生 > >phpcms實現圖文分離,檔案上傳到遠端伺服器的方法

phpcms實現圖文分離,檔案上傳到遠端伺服器的方法

APP_PATH是phpcmsv9中的動態域名。也就是網站的域名。看似簡單,其實的妙用。

 當我們一個網站時看不出什麼。但當我們想將伺服器分散以減輕壓力時,就能起作用了。

 環境:阿里雲主機網站提供靜態和手機動態服務。當流量大了導致伺服器慢,既影響手機訪問,又導致後臺無法登陸和工作。為保證手機APP正常。擬將佔流量的圖片分離,另購一臺阿里雲主機,使用複製的phpcms,共用一個數據庫。兩臺使用兩個不同的域名。後臺選擇在新伺服器進後臺操作編輯。此時,將APP_PATH設定成老伺服器域名,編輯文章上傳附件時,圖片就傳到老伺服器上,由老伺服器上的phpcms進行處理了,生成的圖片也在老伺服器上。而文章在新伺服器上生成了,而文章的URL域名還是老伺服器的, 然後,將生成的httml檔案,通過釋出到遠端站點實現傳到老伺服器。從而將後臺成功他分離和隱起來了。

 如是後臺訪問量不大,還可以將動態服務放到新伺服器上進行,使用新伺服器域名,實現動靜分離,保證手機APP的穩定。

還可以不生成靜態頁,編輯內容存到資料庫。在老伺服器上進行生成操作。

  這裡,兩臺伺服器,系統檔案全部複製,使用的又是同一資料庫,但這裡兩臺還是可以做一些事的,那就是兩臺伺服器的快取內容是可以不一樣的。

'upload_path' => PHPCMS_PATH.'uploadfile/',

'app_path' => 'http:/xxxxx.comt/phpcms/',//動態域名配置地址  這裡決定生成的靜態頁面utl。 寫成老伺服器的域名,這樣就可以隱藏的後臺生成原域名伺服器可用的靜態頁面。

其實,決定上傳檔案到哪個伺服器的,是ttachment中的這一句:

$upload_path = empty($admin_url) ? APP_PATH : 'http://'.$admin_url.'/';

它決定了呼叫的是哪個伺服器上的檔案。看該檔案下面:

swfu = new SWFUpload({
            flash_url:"'.JS_PATH.'swfupload/swfupload.swf?"+Math.random(),
            upload_url:"'.$upload_path.'index.php?m=attachment&c=attachments&a=swfupload&dosubmit=1",

 小結:1,靜態檔案與後臺分離。

         2,圖片等附件可以遠端釋出到其它任意伺服器上。