[英]How upload to separate fileserver using php?
我正在開發的應用程序允許用戶上傳其個人資料的頭像。 由於該應用程序使用兩個單獨的前端網絡服務器,因此我們打算使用一個單獨的文件服務器來存儲圖像文件。 我使用的代碼成功將文件上傳到Web服務器中的目錄。 成功將文件放入文件服務器的最佳方法是什么? 它使用一個名為“ class.upload.php”的上傳代碼,我在這里https://www.verot.net/php_class_upload.htm
這是代碼:
require_once('class.upload.php');
$foo = new Upload($_FILES['fileToUpload']);
if ($foo->uploaded) {
// save uploaded image with a new name,
// convert to .jpg
// resized to 50px by 50px
$foo->file_new_name_body = $tablename;
$foo->file_auto_rename = true;
$foo->image_convert = jpg;
$foo->image_resize = true;
$foo->image_ratio_crop = true;
$foo->image_y = 50;
$foo->image_x = 50;
//THIS LINE CURRENTLY SPECIFIES UPLOAD PATH ON WEBSERVER
$foo->Process('avatars/');
// THE LINE BELOW IS WHAT I TRIED AND GOT A 'Can't create file path' ERROR
//$foo->Process('http://XXX.XXX.XXX.XXX/PATH/TO/avatars/');
if ($foo->processed) {
//echo 'image renamed, resized x=100 and converted to JPG';
$foo->Clean();
...then goes on with upload processing since upload is successful.
}
}
其中XXX.XXX.XXX.XXX是文件服務器的IP。
在此先感謝您的幫助。 如果有什么我可以做的更好的問題,請告訴我。 謝謝!
該腳本用於保存到本地文件系統。 您將需要www-data用戶(或您的安裝程序運行時使用的任何用戶)將文件寫入其中的位置。
設置一個僅上傳圖像的表單,並將操作設置為文件服務器上的腳本。 這樣,用戶可以直接上載到它。
要么
您需要將文件保存在本地,然后再將其保存到文件服務器。 公開文件系統導出可能會起作用(如果您在www服務器和文件服務器之間有專用網絡),或者您需要向其中發送一些操作方法。 您可以在PHP中使用curl來通過FTP傳送圖像,可以使用無密碼的ssh密鑰並生成一個對文件服務器執行scp的Shell腳本,並且可以經常通過ssh與rsync進行同步。 很多選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.