![](/img/trans.png)
[英]Upload files directly to the FTP server by using “Jquery file upload plugin”
[英]Upload/Put file Directly in FTP server while user will upload in webpage form
我想知道用戶是否有可能在網頁表單控件中上傳任何文件(JPG,JPEG,PDF,Zip等),而該文件將直接上傳/放置到FTP服務器上而無需在其中存儲第一個臨時文件網站服務器然后在FTP服務器上傳輸?
實際上,我有一個業務案例,用戶可以上傳超過200 MB的文件,因此在這里我想直接將其傳輸到遠程FTP服務器中而不將其存儲在網站服務器中。
我進一步調查了html表單標簽允許“操作”屬性中的FTP協議,下面是我嘗試過的代碼片段。
<form action="ftp://username:password@domainname/upload.php" enctype="multipart/form-data" method="post">
<table style="border-collapse: collapse;" border="1" width="500px">
<tbody><tr>
<td> Upload File :</td>
<td> <input name="uploadedfile" type="file"> </td>
</tr>
<tr>
<td colspan="2">
<input name="Save File" value="Save File on Server" type="submit">
</td>
</tr>
</tbody></table>
</form>
但是,當我嘗試上傳圖像並提交圖像時,它會將我重定向到瀏覽器中的ftp:// username:password@domainname/upload.php URL中,這將顯示我在upload.php中編寫的PHP代碼文件。
實際上,我已經知道,一旦表單提交並將文件從服務器臨時位置($ _FILES ['uploadedfile'] ['tmp_name'])傳輸到FTP服務器,如何在遠程FTP服務器中傳輸文件,但是通過這樣做,它將首先將文件上傳到網站服務器,然后再在遠程FTP服務器中進行傳輸,這需要兩倍的時間。
您也可以向我建議實現我的業務需求的另一種方法。
提前致謝。
您可以使用ftp_put()。 http://php.net/manual/en/function.ftp-put.php
.php文件的開頭如下所示:
<?PHP
$myFile = $_FILES['file_name']; // This will make an array out of the file information that was stored.
?>
現在,當涉及到傳輸信息時...
<?PHP
$destination_path = "src/bin/";
//要將文件扔到Web服務器上的位置(相對於登錄目錄)
$destination_file = $destination_path."img.jpg";
//這將創建一個完整的路徑,最后帶有文件供您使用,例如像這樣拆分變量,以防萬一我需要單獨使用或動態創建新文件夾。
$file = $myFile['tmp_name'];
//將數組轉換為包含文件所在服務器上路徑名的新字符串。
$upload = ftp_put($conn_id, $destination_file, $file, FTP_BINARY);// upload the file
if (!$upload) {// check upload status
echo "FTP upload of $destination_file has failed!";
} else {
echo "Uploaded $file to $conn_id as $destination_file";
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.