1

我正在处理 csv 文件上传,我需要上传大型 csv 文件,然后需要使用字段映射插入数据库。我正在使用 Jquery 执行此操作,它没有显示任何错误,只是将 url 显示为红色到 firbug。我没有得到什么问题?这是我的脚本。

    <script src="js/jquery.form.js"></script> 
    <script src="js/create_input.js"></script>
    <script> 
        $(document).ready(function() { 
            $('#UploadForm').on('submit', function(e) { 
                e.preventDefault();
                var value= $("#valS").val();
                var host=$('#host').val(); 
                //alert(host);
                $(this).ajaxSubmit({
                    type: "POST",
                    url: host+"views/excel_file_import.php",
                    data: {value: value},
                    success: function(html){   
                    $('#Exceloutput').html(html);  
                    }
                });  
            });
        }); 

    $(document).ready(function() { 
    $("#updatefields").click(function(){ 
    var arrayOfValues = $(".bookDetails select").map(function (i, el) { return      $(el).val(); }).get();
    var fileName= $("#excelfile").val(); 
    var csvState= $("#state_csv").val(); 
    var host=$('#host').val(); 
    $.ajax({  
        type: "POST",  
        url: host+"views/update_fields.php",  
        data:{str:arrayOfValues, fileName:fileName, csvState:csvState}, 
        success: function(msg){  
            $('#fieldUpdate').html(msg);  
            }  
         });

    return false; 

    });
    }); 
    </script> 
    <?php
    $host=$_SERVER['HTTP_REFERER'];
    $url=substr($host,0,-9);
    ?>
   <input type="hidden" value="<?php echo $url; ?>" id="host">
   <h1 class="page-title">Upload Csv File</h1>
   <div class="container_12 clearfix leading">
   <div class="grid_12" id="edit-form">


    <form action="<?php echo $url; ?>views/excel_file_import.php" method="post"     enctype="multipart/form-data" id="UploadForm" class="form has-validation">

      <div class="clearfix">
               <label for="form-upload" class="form-label">Upload File<em>*</em></label>
               <div class="form-input">
                   <input type="file" size="50" class="text" id="excelfile" name="excelfile" required="required"/>
                   <input type="hidden" size="50" class="text" id="valS" name="valS"  value="1" required="required"/>
               </div>
    </div>

     <div class="form-action clearfix">
             <button class="button class-button" type="submit"   id="SubmitButton">Upload</button>
             <button class="button class-button" type="submit" id="updatefields" name="updatefields">UpdateExcel</button>
     </div>


    </form>
    <div id='fieldUpdate'>
    </div>
    <div id='Exceloutput'>
    </div>

    </div>
     </div>

这是 excel_file_import.php 代码。

<?php
include("../common/connection.php");
if(isset($_POST))
{
    $database= "test2";
    $filename = 'test-'.$_FILES['excelfile']['name'];
    $value= $_POST['value'];
    $copy= move_uploaded_file($_FILES["excelfile"]["tmp_name"],"../files/".$filename);
    if($copy)
    { echo "Upload Success";?>

<?php
}

}
?>
4

3 回答 3

0

要在服务器上上传大文件,请检查 php.ini 文件中的这些设置,如果您无权访问 php.ini,则可以更改它的 htaccess 文件。根据您的要求增加这些文件上传的值。

max_input_time 1000 max_execution_time 1000 post_max_size 1000M max_file_uploads 50 upload_max_filesize 1000M

于 2013-05-01T06:46:42.100 回答
0

您是否尝试过增加文件中的文件上传限制php.ini

file_uploads = On
upload_max_filesize = 20M //needs to be in {x}M format

在此处查看更多信息:

  1. http://php.net/manual/en/faq.using.php#faq.using.shorthandbytes
  2. http://davidwalsh.name/increase-php-file-upload-limit-using-php-ini
  3. http://wiki.lunarpages.com/Increase_php.ini_Upload_Limit
  4. http://www.radinks.com/upload/config.php
于 2012-12-27T06:48:44.390 回答
0

我正在使用 jQuery 执行此操作。它没有显示任何错误。它只是将 url 显示为红色到 firbug

这两个文件是否都驻留在同一个域中?html 和 php 都可以吗?Firebug 显示红色 URL,因为通常不允许跨域 ajax 请求

于 2012-12-27T06:49:24.687 回答