テンプレートページ/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(); // アップロード クラスをインスタンス化します
$upload->maxSize = 3145728 ; // 添付ファイルのアップロード サイズを設定します
$upload -> ;exts = array('jpg', 'gif', 'png', 'jpeg','xls');//添付ファイルのアップロードタイプを設定します
// ファイルをアップロードします
$info = $upload->upload( );
if(!$info){//アップロード エラー メッセージ
$this->error($upload->getError());
}else{//アップロード成功
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; //Exls パスを指定します。 read
//$type = 'Excel2007'; //Excel5 (2003 以前) または Excel2007 を解析する Excel の種類を設定します
//echo $xlsPath;
$type = 'Excel5';
$ xlsReader = $PHPReader-> ;createReader($type);
$xlsReader->setReadDataOnly(true);
$xlsReader->setLoadSheetsOnly(true);
$Sheets = $xlsReader->load($xlsPath);
// 読み取りを開始します。
$Sheet = $Sheets->getSheet(0)->toArray(); //最初のワークシートを読み取ります (番号は 0 から始まることに注意してください) 0,1, の複数の A ループを読み取る場合、これを行うことができます。 2,3....
//それぞれの小さな配列は Excel テーブルの内容の行であり、この行の各列のデータが含まれます
//echo '' ;
//print_r($Sheet);
foreach($Sheet as $k=>$v){
$model = M('student');// アップロードに成功したファイル情報を取得
$data['name '] =$v[0];
$result=$model->add($data);
if($result){
$this->success("保存に成功しました",U('Index/excellist') );
}else{
$this->error("ストレージに失敗しました");
}
}
}
}
}