我很難從我的桌面上傳一個簡單的文件上傳到我的遠程服務器。我在PHP中的簡單的形式來獲取文件:使用php,JS&ajax通過ftp上傳文件
<form enctype="multipart/form-data">
<tr>
<td><label>select the file to reconcile the checks</label></td>
<td><input type="file" id="file" name="file" /></td>
<td><input type="button" id="checks" value="Check Reconciliation" /></td>
</tr>
</form>
然後傳遞給我的JavaScript有:
$("#checks").live('click', function() {
$.ajax({
type: "POST",
url: "checkReconciliation3.php",
dataType: "json",
data: ({file: $('#file').val()}),
success: function(data){
$('#message').html(data.message);
}
});
}); //end of checks click function
和checkReconciliation3.php
是:
header('Content-type: text/html; charset=utf-8');
require_once ('../db.php');
require_once('ftp.php');
$file = $_POST['file'];
// set up basic connection
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_pasv($conn_id, true);
//ftp_chdir($conn_id, '/home/bookcell/bookcellaronline.com/html/testbcos/accounting/');
ftp_put($conn_id, $remote_file, $file, FTP_BINARY);
echo $php_errormsg;
ftp_close($conn_id); // close the connection
從我的一切研究SO,這看起來是正確的,但我不斷收到以下錯誤:
PHP Warning: ftp_put(checkslastmonth.csv) [<a href='function.ftp-put'>function.ftp-put</a>]: failed to open stream: No such file or directory in /chroot/home/bookcell/bookcellaronline.com/html/testbcos/accounting/checkReconciliation3.php
上線24
24號線是
ftp_put($conn_id, $remote_file, $file, FTP_BINARY);
我已經使用$file = $_FILES["file"]["name"]
試過,我仍然得到同樣的錯誤。我想要上傳到我的服務器的文件位於我的桌面上。我如何得到這個工作?
感謝您的幫助,這很好。 – Jim 2013-04-29 16:02:51
你當然可以通過ajax上傳文件。任何支持File API的瀏覽器都可以通過XHR級別2上傳文件。 – 2013-06-05 15:25:58
@Yordi這是不正確的,你可以用ajax上傳文件。幾乎所有的HTML5瀏覽器都可以做到這一點。 – botenvouwer 2014-03-04 08:39:19