Heim > Artikel > Backend-Entwicklung > Beispiel für das Hochladen mehrerer Excel-Dateien in die Datenbank in tp3.2
Vorlagenseite/index.html
<span style="color:#000000;"><meta charset='utf-8'></meta> <form action="{:U('Index/uploads')}" method="post" enctype="multipart/form-data"> 上传<select onchange='aa()' id='sel'><?php for($i=1;$i<=10 ;$i++ ){?> <option value=<?php echo $i;?>><?php echo $i;?></option><?php }?></select>个<p> <div id="div" class=""> <input type="file" name="file"><p> </div><input type="submit" value="提交" /> </form> <script type="text/javascript"> function aa(){ var sel=document.getElementById('sel').value; var str=''; for (var i=0;i<=sel-1 ;i++ ) { str+='<input type="file" name="file'+i+'"><p>'; } document.getElementById('div').innerHTML=str; } </script></span>
public function uploads(){
$upload = new ThinkUpload();// Instanziieren Sie die Upload-Klasse
$upload->maxSize = 3145728;// Legen Sie die Upload-Größe des Anhangs fest
$upload->exts = array('jpg', 'gif', 'png', 'jpeg','xls');//Anhang-Upload-Typ festlegen
//Datei hochladen
$ info = $upload->upload();
if(!$info){//Fehlermeldung hochladen
$this->error($upload->getError());
} else{// Hochladen erfolgreich
foreach($info as $file){
$files='./Public/'.$file['savepath'].$file['savename']; Vendor("Excel.PHPExcel");
vendor("Excel.PHPExcel.PHPExcel_IOFactory");
$PHPExcel = new PHPExcel();
//var_dump($PHPExcel);
$ PHPReader = new PHPExcel_IOFactory();
//var_dump($PHPReader);die;
$xlsPath =$files; //Geben Sie den zu lesenden Exls-Pfad an
//$type = 'Excel2007'; /Legen Sie den Excel-Typ fest, um Excel5 (2003 oder niedriger) oder Excel2007 zu analysieren
//echo $xlsPath;
$type = 'Excel5';
$xlsReader = $PHPReader->createReader($ type) ;
$xlsReader->setReadDataOnly(true);
$xlsReader->setLoadSheetsOnly(true);
$Sheets = $xlsReader->load($xlsPath);
/ /Start reading a
$Sheet = $Sheets->getSheet(0)->toArray(); //Das erste Arbeitsblatt lesen (beachten Sie, dass die Zahl bei 0 beginnt) Sie können dies tun, wenn Sie mehrere A-Schleifen von lesen 0,1,2,3....
//Erhalten Sie ein zweidimensionales Array. Jedes kleine Array ist eine Zeile des Excel-Tabelleninhalts, die die Daten jeder Spalte dieser Zeile enthält.
// echo '< ;pre>';
//print_r($Sheet);
foreach($Sheet as $k=>$v){
$model = M('student');/ / Erfolgreich hochgeladene Dateiinformationen
$data['name']=$v[0];
$result=$model->add($data);
if($result){
$this->success("Erfolgreiche Speicherung",U('Index/excellist'));
}else{
$this->error("Erfolgreiche Speicherung");
}
}
}
}
}