从ajax发送csv到php

时间:2015-10-08 17:19:39

标签: php jquery ajax

我有这段代码:

HTML:

<input type="file" name="filename" id="filename">

jQuery的:

$("#filename").change(function(e) {
var url = $("input#filename").val();

 $.ajax({            
        type: "POST",
        url: "/importArticleCsv",
        dataType: "json",
        data: "url="+ url,
        success: function(response)
        {
            alert("succes");

        }
    });
    return false;

});

PHP:

public function importArticleCsv(){      
    $url = $this->input->post('url');

        $csv_file = CSV_PATH . $url; // Name of your CSV file

$csvfile = fopen($csv_file, 'r');

$theData = fgets($csvfile);

$i = 0;

while (!feof($csvfile)) {
    $csv_data[] = fgets($csvfile, 1024);
    $csv_array = explode(",", $csv_data[$i]);

    $insert_csv = array();
    $insert_csv['ID'] = $csv_array[0];
    $insert_csv['name'] = $csv_array[1];
    $insert_csv['email'] = $csv_array[2];

$i++;

}

fclose($csvfile);

}

我如何上传csv文件,将其发送到php,以便php可以添加数组中的所有内容?我有所有这些代码,它是正确的功能,但它没有做任何事情?这怎么可能?

1 个答案:

答案 0 :(得分:0)

您无法直接使用文件上传中的.val()(出于良好的隐私/安全原因,例如网站将能够遍历您的整个计算机)。

尝试让脚本让表单执行post请求(有效地将文件发送到所需的PHP文件进行处理)。

或者查看:How can i upload a file using jquery's $.ajax function with json and php