繁体   English   中英

使用相同形式但使用jquery php的不同输入字段上传多个文件

[英]multiple file upload using same form but different input fields using jquery php

我已经在堆栈溢出中搜索了此内容,但找不到与我的问题相关的答案。 请看一下我用来获取数据并将其扔到php文件并将文件上传到相应文件夹并将其链接存储到数据库的代码。 但是我无法存储数据。 它显示“无法上传数据”。

jQuery文件:

$(document).on('click','#modalMenu', function(){
        var pagename = $("#pagename").val();
        var page = 'modalMenu';
        var menuname = $("#menuname").val();
        var nav = $("#nav").val();
        var content = CKEDITOR.instances['content'].getData();

        var form_data = new FormData();
        var file_data = $('#file').get(0).files[0];
        var logo = $('#logo').get(0).files[0];
        form_data.append('file', file_data);
        form_data.append('logo', logo);
        form_data.append('pagename', pagename);
        form_data.append('menuname', menuname);
        form_data.append('content', content);
        form_data.append('nav', nav);
        form_data.append('page', page);
        $.ajax({
                    url: 'insert.php', // point to server-side PHP script 
                    //dataType: 'text',  // what to expect back from the PHP script, if anything
                    cache: false,
                    contentType: false,
                    processData: false,
                    data: form_data,                         
                    method: 'POST',
                    success: function(data){
                    alert(data);
                    location.reload();
                }

         });
    });

在某些页面上的表格

<form  method="post" role="form" enctype="multipart/form-data"  action="javascript:;">
                    <input type="text" class="form-control" placeholder="Page Name" id="pagename" name="pagename" style="max-width:25%; display:inline" />
                    <input type="text" class="form-control" placeholder="Nav Name" id="nav" name="nav" style="max-width:25%; display:inline" />
                    <input type="text" class="form-control" placeholder="Menu Name" id="menuname" name="menuname" style="max-width:25%; display:inline" />
                    <input type="file" name="logo" id="logo" title="Menu Logo" class="form-control"  style="max-width:20%; display:inline"/>
                    <input type="text" class="form-control"  placeholder="Summery Part.. Please make it crisp" id="content" name="content" style="max-width:30%; display:inline" />
                        <script>
                                var editor = CKEDITOR.replace( "content", {
                                uiColor: "#ffffff",
                                filebrowserBrowseUrl : "../ckeditor-ckfinder-integration/ckfinder/ckfinder.html",
                                filebrowserImageBrowseUrl : "../ckeditor-ckfinder-integration/ckfinder/ckfinder.html?type=Images",
                                filebrowserFlashBrowseUrl : "../ckeditor-ckfinder-integration/ckfinder/ckfinder.html?type=Flash",
                                filebrowserUploadUrl : "../ckeditor-ckfinder-integration/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files",
                                filebrowserImageUploadUrl : "../ckeditor-ckfinder-integration/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images",
                                filebrowserFlashUploadUrl : "../ckeditor-ckfinder-integration/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash"
                            });
                            CKFinder.setupCKEditor( editor, "../" );
                        </script>
                    <input type="file" name="file" id="file" class="form-control"  style="max-width:25%; display:inline"/>
                    <input type="submit" id="modalMenu" name="modalMenu" class="btn btn-success" align="right" value="+" />
                    </form>

insert.php文件

$pageName=$_POST['page'];
     if($pageName=='modalMenu'){

$pagename=$_POST['pagename'];
$menuname=$_POST['menuname'];
$nav=$_POST['nav'];
$content=$_POST['content'];

$error=$_FILES['file']['error'];
    if($error!=0)
    {
    echo "Error with File data Upload. File not uploaded, it seems the file is not selected or there is some error with the file or the server seems busy, try later.
    We will redirect you back to the dashboard. Please wait..";
    }
    else
    {
    $fname=$_FILES['file']['name'];
    $ftype=$_FILES['file']['type'];
    $fsize=$_FILES['file']['size'];
    $ftname=$_FILES['file']['tmp_name'];
    $target="../modalMenu/$fname";

    $ans=move_uploaded_file($ftname,$target);
    if($ans)
    {
                        $error=$_FILES['logo']['error'];
                            if($error!=0)
                            {
                            echo "Error with Image Data Upload. File not uploaded, it seems the file is not selected or there is some error with the file or the server seems busy, try later.
                            We will redirect you back to the dashboard. Please wait..";
                            }
                            else
                            {
                            $logo_name=$_FILES['logo']['name'];
                            $logo_type=$_FILES['logo']['type'];
                            $logo_size=$_FILES['logo']['size'];
                            $logo_tname=$_FILES['logo']['tmp_name'];
                            $target2="../modalMenu/$fname";

                            $ans=move_uploaded_file($ftname,$target2);
                            if($ans)
                            {

                            //save info to database
                            $con=mysql_connect("localhost","root","");
                            mysql_select_db("rcg_db",$con) or die (mysql_error());
                            $target=addslashes($target);

                                $query="INSERT INTO `modalmenu`(`pagename`, `nav`, `menuname`, `menulogo`, `content`, `readmore`) VALUES ('$pagename','$nav','$menuname','$target' ,'$content','$target2');";
                                $n=mysql_query($query);

                                if($n==1)
                                {
                                    echo "File upload successful! Data is added. Please wait while page reloads";

                                }
                                else
                                {
                                echo "File not uploaded, server seems busy, try later. We will redirect you back to the dashboard. Please wait..";

                                }
                            }
                            }
    }
    else
    {
    echo "File not uploaded, server seems busy, try later. We will redirect you back to the dashboard. Please wait.";

    }

    }

}

先感谢您。 如果我使用的编码方式不好,请推荐并解决该问题。

据我了解,您想将ajax发送到PHP,但是PHP无法保存它?

病给你一个例子

jQuery的

$(#modalMenu).on('click',function(){
    var fname = $("#fname").val();
    var lname = $("#lname").val();
    var age = $("#age").val();

    $.ajax({
        url: 'insert.php', //point to server-side PHP script
        dataType: 'json',
        type: "POST",
        data:{
            "fname" : fname,
            "lname" : lname,
            "age" : age,
            "save" : true
        },
        success: function(yes){
            if(yes.success == true){
                window.location.reload(true);
            }
        }
    });
});

的PHP

$fname = $_POST['fname'];
$lname = $_POST['lname'];
$age = $_POST['age'];

$sql = "INSERT INTO beneficiary (fname, lname, age)
    VALUES ('$fname','$lname','$age')";
$result = mysql_query($sql);

echo json_encode(array(
    "success" => true,
));

请参阅以下链接,我认为这对您很有用http://www.codexworld.com/upload-multiple-images-using-jquery-ajax-php/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM