使用像facebook上传的ajax上传文件

时间:2013-07-26 15:08:54

标签: php jquery html ajax

我的问题是,我想上传一个csv文件,而不是按下提交按钮,我在那种情况下使用了ajax。但是现在,它们出现了错误,并且错误表明fopen()Filename不能为空。但是我已经获得了我想要的文件值,但$ _FILES [$ fie] ['tmp_name']无法读取此值。但是如果我在变量()中附加变量,它们会显示确切的文件名。这是我的示例代码。

这是html:

<form id="Form2">
 <input type="file" id="fie" />
</form>

这是javascript:

<script style="text/javascript">
    $(function(){
        $('#Form2').change(function(e){
            e.preventDefault();

            var sub = document.getElementById("fie").files[0].name;

            if($('#cat1').hasClass('show')){
            $('#cat1').hide();

            $('#cat2').html("<img src='pb1.gif' />");

            $.ajax({

                url:'uploading.php',
                action:'get',
                data: 'fie='+sub,
                success: function(data){

                    $('#cat2').html(data);

                }
            });

            }
        });
    });
</script>

这是Php: uploading.php

<?php

    include("conn.php"); //assuming that connected to a database.

    if (isset($_GET['fie'])) { 

     echo "<script>alert('".$_GET['fie']."')</script>";//IN ALERT THEY EXECUTE THE EXACT VALUE OF THE FILE I INPUT
     $fie = $_GET['fie'];
    $file = $_FILES[$fie]['tmp_name']; //PROBLEM IS THIS. THEY CAN'T READ THE VALUE AND TELL THEIR IS NO FILE.
    $handle = fopen($file,'r') or die ('Cannot open file'); 
     fgets($handle);
    do { 
        if (isset($data[0])) { 
            mysql_query("INSERT INTO tbl_numbers (numbers,cute) VALUES ('".addslashes($data[0])."','".addslashes($data[1])."')"); 
        } 
    }
    while ($data = fgetcsv($handle,1000,",","'")); 

    echo "Successful Upload~!";

}

?>

感谢您的回复。

0 个答案:

没有答案