允许客户将文件直接上传到wordpress网站上的本地ftp服务器

时间:2018-01-26 14:53:33

标签: wordpress plugins ftp upload

我目前正在开发一个使用Wordpress构建的网站,并且希望能够让客户在网站上传文件以进行打印,并将这些文件直接发送到本地FTP服务器。

我怎样才能做到这一点?很少有插件允许上传到FTP服务器,并且存在的插件似乎只允许用户上传文件到主机服务器上的媒体库,然后将文件复制到FTP服务器。我希望能够让用户上传文件,然后直接进入我们的本地FTP服务器。这是可能的,那里有一个插件可以实现吗? 谢谢!

1 个答案:

答案 0 :(得分:0)

这是没有文件验证的示例。在实际保存或在任何地方使用之前,您应该始终验证上传的文件。此示例还显示了如何上载单个文件,然后使用FTP传输它。对于多文件处理,请修改此代码。

假设您已上传文件,现在文件句柄为$ file。并且您还拥有FTP服务器的凭据。

// best to keep this in a separate file as a constant or variable
$ftp_host = 'ftp.example.com';
$ftp_user = 'ftp_username';
$ftp_password = 'ftp_password';
// Try to get the filename from the $file, if you want to keep
// same filename. usually it is $_FILES['upfile']['tmp_name'];
$remote_filename = 'uploaded_file_name.txt';

// now we try to connect to ftp server
$ftp = ftp_connect($ftp_host);
$login = ftp_login($ftp, $ftp_username, $ftp_password);

if(!$ftp || $!login) {
    // you can add logics here
    echo 'FTP login failed';
}

if(ftp_fput($ftp, $remote_file, $file, FTP_BINARY)) {
    echo "File successfully uploaded";
} else {
    echo "Failed to upload file";
}

ftp_close($ftp);