Это немного зависит от удаленного FTP-сервера, поэтому, возможно, вам понадобится немного Try & Error, чтобы установить соединение
Ваш код JS:
var data = new FormData();
data.append("data" , saver);
var xhr = new XMLHttpRequest();
xhr.open( 'post', 'upload.php', true ); //Post to php Script to save to server
xhr.send(data);
});
Я не тестировалэто с помощью Html2Pdf, но сейчас я предполагаю, что заставка содержит полный сгенерированный файл pdf-bibary
. JS отправит файл Content в файл upload.php
на сервере
Ваш upload.php
if(isset($_POST['data'])){
//$_POST['data'] will contain everything sent by ajax
$pdfContent = $_POST['data'];
//tmpFile to store the pdf - will be removed automatically
$tmpFile = tmpfile();
fwrite($tmpFile, $pdfContent);
//connect and login to a ftp server
$ftp_server = "ftp.xx.com";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
//probably login with user/pw
$login = ftp_login($ftp_conn, $ftp_username, $ftp_userpass);
//upload tmp-file - choose filename on server
if (ftp_put($ftp_conn, "fileNameOnServer.pdf", $tmpFile, FTP_ASCII)){
echo "Successfully uploaded file";
}
else {
echo "Error uploading file";
}
//close connection
ftp_close($ftp_conn);
}
?>
Смотрите встроенные комментарии, надеюсь, понятно, что происходит, в целом вы должны выполнить следующие шаги:
- Извлечь опубликованные данные из запроса Ajax
- Запись содержимого во временный файл (= pdf-файл)
- подключение к ftp-серверу
- загрузка этого файла
В случае, если ваш ftp-сервертребует ssl посмотреть в ftp_ssl_connect
. В случае возникновения ошибок при подключении / авторизации php должен выдавать предупреждения, поэтому, вероятно, проверьте ваш журнал ошибок