PHP   发布时间:2022-04-09  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php基于Fleaphp框架实现cvs数据导入MySQL的方法大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP基于FleaPHP框架实现cvs数据导入MysqL方法分享给大家供大家参,具体如下:

PHP;">
_getView();
  $smarty->display("kaoqin_upload.html");
 }
 //显示错误
 private function showErro(){
 error_reporting(E_ALL);
  ini_set("display_errors","On");
 }
 //判断日期
 private function isDate($file_name)
 {
  $filename = explode('.',$file_name);
 $real_name = $filename[count($filename)-2];//得到文件名
  $format="Y-m-d";//时间格式类型
  $unixTime=strtotime($real_name);
  $checkDate= date($format,$unixTime);
   if($real_name==$checkDate)
    return ture;
   else
    return false;
 }
 public function actionSave(){
// $this->showErro();
 $upload_file=$_FILES['upload_file'];
 $file_name = $_FILES['upload_file']['name'];
 $file_tmp_name = $_FILES['upload_file']['tmp_name'];
 $file_type = $_FILES['upload_file']['type'];
 $file_size = $_FILES['upload_file']['size'];
 $file_error = $_FILES['upload_file']['error'];
  //检查文件
  if ($file_name==null)
   {
    echo "文件选择出错,请检查上传文件。";
    exit;
   }
  //判断文件大小
  if ($file_size >=10241024 )
   {
    $file_size = round($file_size/ 1048576 * 100) / 100 . ' mb';
    print_r("上传文件大小为"."$file_size");
  echo "系统只允许上传大小为10M以内的文件。";
  exit;
   }
  //$extention_name = end(explode('.',$_FILES["upload_file"]['name']));//获取扩展名
  $extention_name=preg_replace('/.*/.(.*[^/.].*)*/iU','//1',$file_name);//获得文件的扩展名
  //检查文件类型
  if($file_type!="application/vnd.ms-excel"&& $extention_name!="csv")
   {
  echo "您上传文件类型: .",$extention_name,"
"; print_r("系统允许文件类型: .csv"); exit; } if(file_exists($this->uploaddir.$_FILES['upload_file']['name'])) { print("备份目录同名数据存在"); //文件存在 exit; } if($this->isDate($file_name)==falSE) { print("文件命名格式不对,正确格式。例:2010-10-28.csv"); //文件存在 exit; } // var_dump(file_exists($this->uploaddir.$_FILES['upload_file']['name'])); //test返回 print_r("原始勤数据文件:".$_FILES['upload_file']['name']."
"."
"); //数据导入 // $fp = fopen($_FILES['upload_file']['tmp_name'],"r"); // $data = fgets($fp,1000); // $date=setOutputEncoding('utf-8'); $data=file($_FILES['upload_file']['tmp_name']); $attendance =& get_singleton('Model_attendance'); //print_r($data); //数据导入处理 for($i=1;$i删除 $t["ATTENDANCE_GO_WORK"]=trim($a[4],"/""); $t["ATTENDANCE_AFTER_WORK"]=trim($a[5],"/""); //判断打卡情况 $go_work = trim($a[4],"/"");//上班时间 $after_work = trim($a[5],"/"");//下班时间 // print_r(var_dump($go_work)); // exit(); if(strlen($go_work)==0 && strlen($after_work)!=0) { $t["ATTENDANCE_STATUS"]= "1"; //"1"代表正常出勤 } if(strlen($go_work)!=0 && strlen($after_work)==0) { $t["ATTENDANCE_STATUS"] ="2"; //"2"代表上班为打卡 } if(strlen($go_work)!=0 && strlen($after_work)!=0) { $t["ATTENDANCE_STATUS"] ="3"; //"3"代表下班未打 } if(strlen($go_work)==0 && strlen($after_work)==0) { $t["ATTENDANCE_STATUS"]= "4"; //"4"代表未出勤 } //按勤规则重置正常上下班时间 if(strlen($go_work) == 0 && strlen($after_work) == 0) { $go_work = "24:00"; $after_work = "00:00";//未出勤按子时计算 } if(strlen($go_work) == 0 && strlen($after_work)!=0) { $t["ATTENDANCE_GO_WORK"] = $go_work = "08:35";//上班未打卡按08:35开始计算 } if(strlen($go_work) != 0 && strlen($after_work) == 0) { $t["ATTENDANCE_AFTER_WORK"] = $after_work = "17:30"; //下班为打卡按17:30计算 } //计算在勤时间 $minutes;//保存分钟段 $hours;//保存小时段 $real_time1 = explode(":",$go_work);//上班时间分割数组 $real_time2 = explode(":",$after_work);//下班时间分割数组 //开始处理在勤时间 $minutes=intval(intval($real_time2[1])-intval($real_time1[1])); if($minutes<0) {="" $hours="intval(intval(($real_time2[0])-1)-intval($real_time1[0]));"><=0) {="" $hours="intval((intval($real_time2[0])-1)-intval($real_time1[0])+24);" }="" $minutes="intval(intval($real_time2[1])+60-intval($real_time1[1]));" $attendance_time="sprintf("%02d",$hours).":".sprintf("%02d",$minutes);" }="" else="" {="" $hours="intval(intval($real_time2[0])-intval($real_time1[0]));"><=0) {="" $hours="intval(intval($real_time2[0])-intval($real_time1[0])+24);" }="" if($minutes="">=10 && $minutes<60) 开始选用strlen判断字符长度补齐位,现在直接用格式化输出,原结构不变。="" {$attendance_time="sprintf("%02d",$minutes);}" else="" {="" $attendance_time="sprintf("%02d",$minutes);" }="" }="" 更正未出勤时间情况,去除午休时间的在勤时间="" if($attendance_time="="-1:00")" {="" $attendance_time="00:00" ;="" }="" $t["attendance_time"]="$attendance_time;//保存在勤时间" $attendance-="">create($t);//存入数据库 } // print_r("数据导入成功")."
"; //原始csv文件数据备份,文件保存在系统的./uploadfiles/文件夹下 switch ($file_error) { case 0: Echo "勤数据更新成功"."
"; break; case 1: Echo "上传文件超过了 PHP.ini 中 upload_max_filesize 选项限制的值."."
"; break; case 2: Echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。"."
"; break; case 3: Echo "文件只有部分被上传"."
";break; case 4: Echo "没有文件上传"."
";break; case 6: Echo "找不到临时文件夹"."
";break; case 7: Echo "文件写入失败"."
";break; } echo "
"; // exit(); // $absolutdir=$_SERVER[DOCUMENT_ROOT ].$uploaddir.$file_name; if ($_FILES["upload_file"]['error']==0) { //echo $file_tmp_name; //echo $this->uploaddir.$_FILES['upload_file']['name']; //$name=time(); if( move_uploaded_file($file_tmp_name,$this->uploaddir.$_FILES['upload_file']['name'])) { echo '原始数据备份成功'; } else { echo '备份原始数据失败'; } } } } ?>

大佬总结

以上是大佬教程为你收集整理的php基于Fleaphp框架实现cvs数据导入MySQL的方法全部内容,希望文章能够帮你解决php基于Fleaphp框架实现cvs数据导入MySQL的方法所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。