如何上传CSV文件,才能将其发送到php以便php可以添加数组中的所有内容?


                    

我有此代码:</ p>

HTML:</ p>

  
</ code> </ pre>

jQuery:</ p>

  $(“#filename”)。change(function(e){
var url = $(“ input#filename”)。val();

  $ .ajax({
         输入:“ POST”,
         网址:“ / importArticleCsv”,
         dataType:“ json”,
         数据:“ url =“ + url,
         成功:功能(响应)
         {
             alert(“成功”);

         }
     });
     返回false;

});
</ code> </ pre>

php:</ p>

 公共函数importArticleCsv(){
     $ url = $ this-> input-> post('url');

         $ csv_file = CSV_PATH。 $ url; // CSV文件的名称

$ 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);

}
</ code> </ pre>

我如何上传csv文件,将其发送到php,以便php可以将所有内容添加到数组中? 我拥有所有这些代码,并且可以执行正确的功能,但是什么也不做呢? 这怎么可能?</ p>
     </ div>

展开原文

原文

我有如下代码:

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个回答


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

尝试让脚本使表单发出后期请求(有效地将文件发送到所需的PHP文件进行处理)。 </ p>

或者看一下:如何使用jquery的$ .ajax函数以及json和php上传文件 </ p>
     </ div>

展开原文

原文

You can't use the .val() from a file upload directly (for good privacy/security reasons, e.g. otherwise website would be able to traverse your entire computer).

Try letting the script make the form do a post request (effectively sending the file to the desired PHP file for processing).

Or have a look at: How can i upload a file using jquery's $.ajax function with json and php

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐