Plupload:即使没有加载图像也运行uploader.php

时间:2018-05-11 13:32:53

标签: php forms upload plupload

我使用plupload上传表单中的图片。当我按提交时,uploader.php通过上传图像并使用multipart_params og pluploader处理其他表单数据来完成它。

但是,我还想在没有选择图像的情况下提交表单。当我提交时没有选择任何图像,uploader.php根本就不会运行。

有没有办法在所有情况下运行uploader.php,即使没有选择文件?

感谢。

这是我正在处理的简化代码:

<textarea id="textarea_input"></textarea>
<label id="browse" href="javascript:;">
    <i class="fa fa-camera"></i> Add image
    <span id="filelist"></span>
</label>
<a id="start-upload" href="javascript:;"">Add</a>
<span id="console"></span>

<script type="text/javascript">
    var uploader = new plupload.Uploader({
        browse_button: 'browse', // this can be an id of a DOM element or the DOM element itself
        url: 'uploader.php',
        multi_selection: false,
        resize: {
            width: 1500,
            height: 1500,
            quality: 30
        },
        filters: {
            mime_types : [
                { title : "Image files", extensions : "jpg,gif,png,jpeg" }
            ],
            max_file_size: "10mb",
            prevent_duplicates: true
        },
        multipart_params : {
            "textarea_input" : "value1" //predefine textarea_input here, uploader right before uploader.start()
        }
    });

    uploader.init();

    uploader.bind('FilesAdded', function(up, files) {
        while (up.files.length > 1) { //custom: limit to 1 file upload.
            up.removeFile(up.files[0]);
            document.getElementById('filelist').innerHTML = '';
        }
        var html = '';
        plupload.each(files, function(file) {
            html += '<br /><span id="' + file.id + '">' + file.name + ' (' + plupload.formatSize(file.size) + ') <b></b></span>';
        });
        document.getElementById('filelist').innerHTML += html;
    });

    uploader.bind('UploadProgress', function(up, file) {
        document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = '<span>' + file.percent + "%</span>";
    });

    uploader.bind('Error', function(up, err) {
        document.getElementById('console').innerHTML += "\nError #" + err.code + ": " + err.message;
    });

    uploader.bind('UploadComplete', function(up, files) {
        window.location = "mobilelogbook.php?saved=2";
    });

    document.getElementById('start-upload').onclick = function() {
        uploader.settings.multipart_params["textarea_input"] = document.getElementById("textarea_input").value;
        uploader.start();
    };

</script>

uploader.php:

<?php 

if (empty($_FILES) || $_FILES["file"]["error"]) {
    $fileName = '';
} else {
    $fileName = $_FILES["file"]["name"];
    move_uploaded_file($_FILES["file"]["tmp_name"], "images/logbook/$fileName");
}

if (isset($_POST['textarea_input'])) {
    $log = $_POST['textarea_input'];
} else {
    $log = '';
}

// SQL GOES HERE: ADDS THE TEXTAREA_INPUT AND FILENAME TO A TABLE.

die('{"OK": 1}');

?>

0 个答案:

没有答案