2009-10-15 46 views
5

我有一個PHP web應用程序,允許用戶將圖像上傳到我的網站。我正在使用一個簡單的HTML <form enctype="multipart/form-data">Web開發:如何讓用戶直接將文件上傳到我的CDN(Cachefly)?

但是,而不是將這些圖像上傳到我的網絡服務器 - 我會把這些圖像直接上傳到我的CDN(Cachefly - 這是另一臺服務器)。

這是可能的...有一個網絡應用程序允許用戶直接上傳圖像到另一臺服務器?

萬一有幫助,這是我的PHP代碼:

$target_path = "/home/www/example.com/uploads/"; 
$target_path = $target_path . basename($_FILES['uploadedfile']['name']); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) { 
    // file has been uploaded **LOCALLY** 
    // HOWEVER, instead of it being upload locally, I would like the file 
    // to be directly uploaded to the CDN ('other' server) 
    ... 
} else{ 
    // error: file did not get uploaded correctly 
    .... 
} 

回答

0

肯定。

代碼中的某處存在需要設置的「$ target_directory」變量。它不會被稱爲,但取決於你的功能如何設置它需要在那裏 - 某處 - 。只需使用絕對路徑來存放您想要文件登錄的目錄。另外,請確保該目錄CHMOD'd爲777,以便將其寫入。

發佈您的代碼,我可以提供更多幫助。

+0

我已將原代碼中的代碼包含在 – Tim 2009-10-15 19:23:02

1

我不認爲有可能直接上傳到另一臺服務器,但我可能是錯的。我有類似的問題,我使用PHP的FTP功能(http://us3.php.net/manual/en/book.ftp.php)。我仍然使用我的服務器作爲中間人,這意味着我將文件上傳到我的服務器,然後FTP將它們傳輸到目標服務器,然後從我的服務器上刪除該文件。

1

您可以在您的網絡服務器上接收它,然後通過文件共享或FTP將其傳輸到CDN。

如果CDN是面向網絡的,那麼您可以將請求重定向到該服務器,並在文件上傳後將控制權發送回您的網絡服務器表單。儘管在後端進行文件傳輸可能會更好,並保持用戶連接到Web服務器。

+0

這就是我的問題的關鍵點......而不是將其上傳到我,然後通過FTP將它轉發到我的CDN ...我可以直接上傳HTML FORM,直接上傳到CDN嗎? – Tim 2009-10-15 19:55:23

5

我想在CDN的情況下......你將首先在你的服務器上接收文件,然後使用CDN API上傳到他們的「桶」。我不認爲你可以直接上傳到CDN,除非有辦法將它映射爲你的服務器上的目錄。

+0

我的CDN使我可以通過FTP訪問我的文件共享服務器。這有什麼區別嗎? – Tim 2009-10-15 19:33:48

+0

不是......這個過程是: 1:獲取上傳到你的服務器上的文件。 2:然後編寫一個PHP腳本,可能會在後臺通過FTP發送批處理文件或單個文件到CDN。 – 2009-10-15 19:40:38

+0

所以,簡短答案是「否」 - 我無法直接將HTML FORM上傳點傳送到另一臺服務器上進行文件上傳。那是對的嗎? – Tim 2009-10-15 20:01:01

2
  • 移動/上傳文件到服務或您非直接accesable服務器通常是通過使用提供的API
  • 移動/上傳文件到自己「擁有」一臺服務器可以做到完成通過使用PHP + FTP擴展(有關更多信息:pear.php.netpecl.php.ne t)
  • 將文件移動/上載到您自己擁有的服務器並作爲羣集中的衆多服務器之一通常是通過將文件臨時上載到1服務器以及後來的.sh,.bash或其他稱爲激活進一步傳輸進程到另一臺服務器的任何內容。
+0

Cachefly,'其他'服務器,爲我提供FTP上傳文件給他們。所以,爲了確保我理解正確......我仍然會首先將文件上傳到MY服務器,然後將FTP上傳到Cachefly。所以你說的是我不能讓最終用戶使用HTML表單直接上傳到Cachefly – Tim 2009-10-15 19:52:49

+0

我的理解是否正確? – Tim 2009-10-15 19:53:40

+0

對,我不知道任何解決方案,它允許你離開上傳服務器的過程。 – 2009-10-16 14:02:49

0

是亞馬遜網絡服務已經可以讓你直接從用戶的瀏覽器上傳到亞馬遜S3: 文檔:http://doc.s3.amazonaws.com/proposals/post.html

此外該S3桶可以通過亞馬遜的CDN(或任何其他CDN暴露,可以指向客戶的原始服務器)

+3

這是一個建議。不是'文件'。任何人都知道,亞馬遜實際上允許這樣做? – Cole 2011-07-05 17:40:12

+0

這將是很好的知道以及。 – xiankai 2012-07-27 06:14:03

相關問題