Wordpress页面上的FTP文件上传功能

时间:2015-12-02 10:09:48

标签: node.js wordpress web

我有一个Wordpress页面,我的一位同事一直在努力。用户必须能够登录并上传一些文件。我们正在考虑使用此插件登录

https://wordpress.org/plugins/profile-builder/

登录后,用户可以访问具有可以从他/她的硬盘中选择文件的功能的页面。然后,应将所选文件上载到FTP服务器。上传完成后,页面应显示用户已上传的文件列表,并可选择删除每个文件。

我意识到这需要向FTP服务器(LIST,DELE,MKD等)发送命令。

我考虑在Node.js服务器上创建我的服务器并让服务器处理FTP上传,但我也认为应该有一个Wordpress插件。我试过搜索,但我能找到的就是如何使用Wordpress自己的FTP上传功能部署网站的说明,这对我来说并不是特别有帮助。另外,我没有任何Wordpress经验,但有一些网络经验,所以理解它应该不难。

所以你们中的任何人之前都做过类似的事情并且可能知道一个插件吗?或者为这样的事情制作了自己的服务器应用程序?

谢谢。

2 个答案:

答案 0 :(得分:1)

用户在wp-upload中上传的主要问题是安全性,以及wp上传者接受的文件类型。最好使用我们自己的代码,根据您的参数清理文件。

您可以尝试: https://wordpress.org/plugins/frontend-uploader/ 要么 https://wordpress.org/plugins/wp-file-upload/

答案 1 :(得分:1)

如果你有一些PHP技能,这是相当简单的。你甚至不需要任何类型的ftp访问。所以这里是“wordpress way”应如何完成的基本细分。

1)为不同的用户(他们看到的页面)分隔仪表板/用户区域     登录后)

让用户访问后端/管理区域不是一个好主意,也不是非常用户友好,所以你可以查看theme-my-login插件,它可以很好地创建登录页面并分开登录后用户被重定向的页面。

2)然后您需要有一个上传区域,用户可以从他们的计算机上传电影

为此,您可以查看wordpress附件功能。你有上传,删除等功能。只需创建一个简单的表格并抓取上传的文件并通过这些功能传递它们(你应该看看正确清理数据/验证),你可能还需要通过php增加上传文件的大小.ini等。

wp_insert_attachment,wp_delete_attachment,wp_get_attachment_url

3)特定用户上传的所有电影的存储库

这是用户meta的一块蛋糕。上面描述的附件函数带有动作钩子,钩子就像触发器,当有人做某些动作时会触发它。因此,一旦上传了附件,您就可以挂钩该操作并获取上传附件的ID,上传附件的名称等,然后将它们保存到登录用户的元数据中。如果你使用一个值数组然后将它们编码为json,它会更好。这样,所有用户电影的列表可以存储在单个数据库条目中,这将非常有效。

要创建和更新用户元,您应该使用此函数update_user_meta,delete_user_meta等。

现在,要显示用户的所有电影,您可以使用类似 get_user_meta('movie_list')

的内容