Php 将csv文件数据插入mysql表时出现问题
我想从html中的文件输入元素中获取一个文件。我在输入类型文件中设置了name属性。 但是我不能得到它。请帮我解决这个问题。 我的php代码是:Php 将csv文件数据插入mysql表时出现问题,php,html,mysql,csv,Php,Html,Mysql,Csv,我想从html中的文件输入元素中获取一个文件。我在输入类型文件中设置了name属性。 但是我不能得到它。请帮我解决这个问题。 我的php代码是: function csv_to_array($filename='', $delimiter=',') { if(!file_exists($filename) || !is_readable($filename)) return FALSE; $header = NULL; $data = array(); i
function csv_to_array($filename='', $delimiter=',')
{
if(!file_exists($filename) || !is_readable($filename))
return FALSE;
$header = NULL;
$data = array();
if (($handle = fopen($filename, 'r')) !== FALSE)
{
while (($row = fgetcsv($handle, 10000, $delimiter)) !== FALSE)
{
if(!$header)
$header = $row;
else
$data[] = array_combine($header,$row);
}
fclose($handle);
}
return $data;
}
if(isset($_POST['submit']))
{
$count=0;
$file_name=basename($_FILES['csv']['name']);
$upload_path="upload_files/".time()."_".$file_name;
move_uploaded_file($_FILES['csv']['tmp_name'], $upload_path);
$file_path = 'upload_files/'.$file_name;
$result = csv_to_array($file_path);
foreach($result as $results)
{
$question=addslashes($results['question']);
$que_img=addslashes($results['question_img']);
$img_for=addslashes($results['img_for']);
$option1=addslashes($results['option1']);
$option2=addslashes($results['option2']);
$option3=addslashes($results['option3']);
$option4=addslashes($results['option4']);
$corrct_ans=addslashes($results['correctanswer']);
$justification=addslashes($results['justification']);
$subject_id=$_POST['subjectid'];
$pgroup=addslashes($results['pgroup']);
$karea=addslashes($results['karea']);
$mock=addslashes($results['mock']);
$email_ins = "insert into online_questions(question,question_img,img_for,option1,option2,option3,option4,correctanswer,justification,subjectid,pgroup,karea,mock) values ('$question','$que_img','$img_for','$option1','$option2','$option3','$option4','$corrct_ans','$justification','$subject_id','$pgroup','$karea','$mock')";
if(mysql_query($email_ins))
{
$count++;
}
}
if($count!=0)
{
header("location:upload_questions.php?msg=success");
}
else
{
//header("location:upload_questions.php?msg=error");
$rightside .= '<div class="msg-error"><h4>Error:'.mysql_error().'</h4></div>';
}
}
else
{
$rightside .= '<form method="POST">
<fieldset><legend>Upload questions</legend>
<ul class="align-list"><li><label for="test-username">Select Subject :</label>
<select name="subjectid" class="required">
<option>-----Select-----</option>
<option value="8">PMP Preparatory Program</option>
<option value="9">Primavera</option>
<option value="10">Microsoft Project [MSP]</option>
</select></li>
<li><label for="test-username">Upload CSV : </label><input name="csv" type="file" /></li>
<li><label for="test-username"></label><input type="submit" name="submit" value="Submit" /></li>
</fieldset></form>';
}
函数csv到数组($filename='',$delimiter='','))
{
如果(!file_存在($filename)| |!是否可读($filename))
返回FALSE;
$header=NULL;
$data=array();
if(($handle=fopen($filename,'r'))!==FALSE)
{
while(($row=fgetcsv($handle,10000,$delimiter))!==FALSE)
{
如果(!$header)
$header=$row;
其他的
$data[]=数组_组合($header,$row);
}
fclose($handle);
}
返回$data;
}
如果(isset($_POST['submit']))
{
$count=0;
$file_name=basename($_FILES['csv']['name']);
$upload\u path=“upload\u files/”.time().“\uu”。$file\u name;
移动上传的文件($上传文件['csv']['tmp\U名称'],$upload\U路径);
$file\u path='upload\u files/'。$file\u name;
$result=csv_到_数组($file_路径);
foreach($result作为$results)
{
$question=addslashes($results['question']);
$que_img=addslashes($results['question_img']);
$img_for=addslashes($results['img_for']);
$option1=addslashes($results['option1']);
$option2=addslashes($results['option2']);
$option3=addslashes($results['option3']);
$option4=addslashes($results['option4']);
$correct_ans=addslashes($results['correct answer']);
$justification=addslashes($results['justification']);
$subject\u id=$\u POST['subject'];
$pgroup=addslashes($results['pgroup']);
$karea=addslashes($results['karea']);
$mock=addslashes($results['mock']);
$email_ins=“插入在线问题(问题、问题、img、img、选项1、选项2、选项3、选项4、正确答案、理由、主体、pgroup、karea、mock)值(“$question”、“$que_img”、“$img for”、“$option1”、“$option2”、“$option3”、“$option4”、“$correct_ans”、“$justifications”、“$subject_id”、“$pgroup”、“$karea”、$mock”);
if(mysql\u查询($email\u-ins))
{
$count++;
}
}
如果($count!=0)
{
标题(“位置:upload_questions.php?msg=success”);
}
其他的
{
//标题(“位置:upload_questions.php?msg=error”);
$rightside.='Error:'.mysql_Error()';
}
}
其他的
{
$rightside.='
上传问题
- 选择主题: -----挑选----- PMP预备计划 普里马维拉 微软项目[MSP]
- 上传CSV: '; }
如何获取上述html编码的文件和文件名。请尝试以下操作:已编辑
<?php
function csv_to_array($filename='', $delimiter=',')
{
if(!file_exists($filename) || !is_readable($filename))
return FALSE;
$header = NULL;
$data = array();
if (($handle = fopen($filename, 'r')) !== FALSE)
{
while (($row = fgetcsv($handle, 10000, $delimiter)) !== FALSE)
{
if(!$header)
$header = $row;
else
$data[] = array_combine($header,$row);
}
fclose($handle);
}
return $data;
}
if(isset($_POST['submit']))
{
$count=0;
$file_name=$_FILES['csv']['name'];
echo $_FILES['csv']['name'];
$upload_path="upload_files/".time()."_".$file_name;
move_uploaded_file($_FILES['csv']['tmp_name'], $upload_path);
$file_path = 'upload_files/'.$file_name;
echo $file_path;
$result = csv_to_array($file_path);
foreach($result as $results)
{
$question=addslashes($results['question']);
$que_img=addslashes($results['question_img']);
$img_for=addslashes($results['img_for']);
$option1=addslashes($results['option1']);
$option2=addslashes($results['option2']);
$option3=addslashes($results['option3']);
$option4=addslashes($results['option4']);
$corrct_ans=addslashes($results['correctanswer']);
$justification=addslashes($results['justification']);
$subject_id=$_POST['subjectid'];
$pgroup=addslashes($results['pgroup']);
$karea=addslashes($results['karea']);
$mock=addslashes($results['mock']);
$email_ins = "insert into online_questions(question,question_img,img_for,option1,option2,option3,option4,correctanswer,justification,subjectid,pgroup,karea,mock) values ('$question','$que_img','$img_for','$option1','$option2','$option3','$option4','$corrct_ans','$justification','$subject_id','$pgroup','$karea','$mock')";
if(mysql_query($email_ins))
{
$count++;
}
}
if($count!=0)
{
header("location:upload_questions.php?msg=success");
}
else
{
//header("location:upload_questions.php?msg=error");
$rightside .= '<div class="msg-error"><h4>Error:'.mysql_error().'</h4></div>';
}
}
else
{
$rightside .= '<form method="post" accept-charset="utf-8" enctype="multipart/form-data">
<fieldset><legend>Upload questions</legend>
<label for="test-username">Select Subject :</label>
<select name="subjectid" class="required">
<option>-----Select-----</option>
<option value="8">PMP Preparatory Program</option>
<option value="9">Primavera</option>
<option value="10">Microsoft Project [MSP]</option>
</select>
<label for="test-username">Upload CSV : </label><input name="csv" type="file" />
<label for="test-username"></label><input type="submit" name="submit" value="Submit" />
</fieldset></form>';
}
echo $rightside;
?>
<form method="post" accept-charset="utf-8" enctype="multipart/form-data">