Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将plupload集成到我的媒体插件_Php_Wordpress_File Upload_Image Uploading_Plupload - Fatal编程技术网

Php 将plupload集成到我的媒体插件

Php 将plupload集成到我的媒体插件,php,wordpress,file-upload,image-uploading,plupload,Php,Wordpress,File Upload,Image Uploading,Plupload,我使用buddypress activity plus作为媒体插件。插件使用valums文件上传上传媒体,我想添加plupload并删除valums文件上传。到目前为止我所做的: 删除此部分 var uploader = new qq.FileUploader({ "element": $('#med_tmp_photo')[0], //"listElement": $('#med_tmp_photo_list')[0], "allowedExte

我使用buddypress activity plus作为媒体插件。插件使用valums文件上传上传媒体,我想添加plupload并删除valums文件上传。到目前为止我所做的: 删除此部分

var uploader = new qq.FileUploader({
        "element": $('#med_tmp_photo')[0],
        //"listElement": $('#med_tmp_photo_list')[0],
        "allowedExtensions": ['jpg', 'jpeg', 'png', 'gif'],
        //"action": ajaxurl,
        "params": {
            "action": "med_preview_photo"
        },

        "onComplete": createPhotoPreview,
        template: '<div class="qq-uploader">' +
            '<div class="qq-upload-drop-area"><span>' + broadcast.drop_files + '</span></div>' +
            '<div class="qq-upload-button">' + broadcast.upload_file + '</div>' +
            '<ul class="qq-upload-list">' +
         '</div>'
    });
并将文件_uploader.php更改为:

class plupload_1 {
/**
 * Save the file to the specified path
 * @return boolean TRUE on success
 */
function save($path) {
    $input = fopen("php://input", "r");
    $temp = tmpfile();
    $realSize = stream_copy_to_stream($input, $temp);
    fclose($input);

    $target = fopen($path, "w");
    fseek($temp, 0, SEEK_SET);
    stream_copy_to_stream($temp, $target);
    fclose($target);

    return true;
}

}

/**
 * Handle file uploads via regular form post (uses the $_FILES array)
 */

class plupload_2 {

function __construct(){

        $this->file = new plupload_1();

}
最后更改了“class\u bpfb\u binder.php”中的“ajax\u预览\u照片”

由此,

function ajax_preview_photo () {
    $dir = BPFB_PLUGIN_BASE_DIR . '/img/';
    require_once(BPFB_PLUGIN_BASE_DIR . '/lib/external/file_uploader.php');
    $uploader = new qqFileUploader(array('jpg', 'jpeg', 'png', 'gif'));
    $result = $uploader->handleUpload(BPFB_TEMP_IMAGE_DIR);
    //header('Content-type: application/json'); // For some reason, IE doesn't like this. Skip.
    echo htmlspecialchars(json_encode($result), ENT_NOQUOTES);
    exit();
}
对此,

  function ajax_preview_photo () {
    //$dir = BPFB_PLUGIN_BASE_DIR . '/img/';
    require_once(BPFB_PLUGIN_BASE_DIR . '/lib/external/file_uploader.php');
    $uploader = new plupload_2();
    $result = $uploader->PlupLoad(BPFB_TEMP_IMAGE_DIR);
    //header('Content-type: application/json'); // For some reason, IE doesn't like this. Skip.
    echo htmlspecialchars(json_encode($result), ENT_NOQUOTES);
    exit();
} 
但我不确定我所做的是正确的,或者如果有不同的方法,任何帮助都将被感激


谢谢你

如果你不介意,请使用这个plupload代码。我总是在wordpress插件中使用这段代码,这是非常简单和干净的代码。


尝试一下,如果有任何疑问,请告诉我。

谢谢您的回答,我希望这是我的用户上传图像的前端页面。看起来你提供的是wordpress后端。我说的对吗?@Joey 1984是的,但我认为你也可以在前端使用它。问题仍然存在,如何将它集成到activity plus插件中,因为插件必须将该文件发布到activity stream中
  function ajax_preview_photo () {
    //$dir = BPFB_PLUGIN_BASE_DIR . '/img/';
    require_once(BPFB_PLUGIN_BASE_DIR . '/lib/external/file_uploader.php');
    $uploader = new plupload_2();
    $result = $uploader->PlupLoad(BPFB_TEMP_IMAGE_DIR);
    //header('Content-type: application/json'); // For some reason, IE doesn't like this. Skip.
    echo htmlspecialchars(json_encode($result), ENT_NOQUOTES);
    exit();
}