我有这段代码:
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可以添加数组中的所有内容?我有所有这些代码,它是正确的功能,但它没有做任何事情?这怎么可能?
答案 0 :(得分:0)
您无法直接使用文件上传中的.val()
(出于良好的隐私/安全原因,例如网站将能够遍历您的整个计算机)。
尝试让脚本让表单执行post请求(有效地将文件发送到所需的PHP文件进行处理)。
或者查看:How can i upload a file using jquery's $.ajax function with json and php