如何将文件从插件上传到wordpress媒体库?

时间:2013-07-19 06:05:11

标签: html5 wordpress drag-and-drop

我需要开发一个前端拖放插件。首先我收集html5拖放代码。

以zip格式下载源代码 - https://github.com/Mashpy/html5-drag-and-drop-upload/archive/master.zip

将文件放入localhost并打开。如果您上传文件,它将在“uploads”文件夹中上传。因为我把代码放在“/js/mashpy.js”中,这次“upload.php”文件将被加载,它将发送“uploads”文件夹中的文件。

这意味着这个过程就像这样 - index.html - js / mashpy.js - upload.php - 将文件发送到“uploads” - dump.php将显示成功上传的结果。

现在我必须开发一个前端拖放插件。但我不知道如何在wordpress媒体库中上传文件。在这个源代码中,upload.php可以将文件发送到“uploads”文件夹。但是wordpress发生了什么?如何将文件发送到wordpress媒体库?

1 个答案:

答案 0 :(得分:0)

您无法简单地将文件上传到wp-content/uploads/。它们不会出现在媒体库中。您需要使用WordPress函数media_handle_upload($file,$post_id),将0作为帖子ID传递(因此,它不附加到任何帖子/页面)。

类似的东西:

if ($_FILES) {
    foreach ($_FILES as $file => $array) {
        if ($_FILES[$file]['error'] !== UPLOAD_ERR_OK) {
            return "upload error : " . $_FILES[$file]['error'];
        }
        $attach_id = media_handle_upload( $file, 0 );
    }   
}

您可以研究这个插件,看看它是如何做到的:Add From Server。并且还研究了WordPress Answers for examples这个函数的用法。