跳到主要內容

發表文章

目前顯示的是 2月, 2011的文章

[野人獻曝] 用 Amazon S3 儲放你的檔案

Amazon S3 是一個由Amazon所提供的檔案儲存服務, 基本上也出來很久了, 所以這裡我不會 也不想 介紹太多細節! 如果你對這有興趣的話,可以先註冊AWS帳號後再繼續看下去。 (不過這需要信用卡,換言之,是要收費的,所以......沒信用卡的就掰掰了) 那麼以下我就以PHP來略為說明怎麼實作一個簡單的上傳程式吧。 首先,你可以先到 這裡 下載Amazon S3 PHP Class, 下載解壓縮至網站目錄後(請記住你把檔案放在那個目錄), 打開你的程式編輯器, 先輸入以下的HTML吧: 這段HTML主要是為了讓我們建立一個可供上傳檔案的表單, 如果不熟悉的話,建議還是找本HTML的入門書吧, 所以這裡就簡單帶過了。 接下來是後端程式的部份, 為了方便起見,你可以直接寫同一隻程式中 ... if (isset($_FILES['photo'])) { require 'S3.php'; // 基本上路徑就請你自己去處理啦!為了要操作S3你必需要引入這個檔案 // AWS_ACCESSKEY和AWS_SECRETKEY是你的AWS登入金鑰(?),你可以在AWS帳號中心中看到這些資訊 S3::setAuth(AWS_ACCESSKEY, AWS_SECRETKEY); // 新增檔案籃,基本上你可以把他當成一個裝滿檔案的藍子,到時要取用這個籃子內的檔案可以用 http://my-test.s3.amazonaws.com/{檔案路徑}來存取 // 第二個參數代表是這個檔案籃可被公開讀取 S3::putBucket("my-test", S3::ACL_PUBLIC_READ); // 將檔案傳至my-test這個檔案籃中 S3::putObjectFile($_FILES['photo']['name'], "my-test", $_FILES['name'], S3::ACL_PUBLIC_READ); } ... 這是比較粗略(而且還有一堆錯)的程式碼, 但總的來說, 整個流程不外乎就是: 伺服端接收客戶端所傳來的檔案內容 接收後進行處理(可能是將...