国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
php基于Fleaphp框架實現(xiàn)cvs數(shù)據(jù)導(dǎo)入MySQL的方法,fleaphpcvs
您可能感興趣的文章:
首頁 后端開發(fā) php教程 php基于Fleaphp框架實現(xiàn)cvs數(shù)據(jù)導(dǎo)入MySQL的方法,fleaphpcvs_PHP教程

php基于Fleaphp框架實現(xiàn)cvs數(shù)據(jù)導(dǎo)入MySQL的方法,fleaphpcvs_PHP教程

Jul 12, 2016 am 08:58 AM
mysql php

php基于Fleaphp框架實現(xiàn)cvs數(shù)據(jù)導(dǎo)入MySQL的方法,fleaphpcvs

本文實例講述了php基于Fleaphp框架實現(xiàn)cvs數(shù)據(jù)導(dǎo)入MySQL的方法。分享給大家供大家參考,具體如下:

<&#63;php
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
class Controller_KaoqinUpload extends FLEA_Controller_Action {
 var $uploaddir = "./uploadfiles/";
 public function _construct(){
  parent::__construct();
 }
// $patch="http://localhost/uploadfiles";/
 function actionIndex() {
  $smarty =& $this->_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 "系統(tǒng)只允許上傳大小為10M以內(nèi)的文件。";
  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,"<br>";
  print_r("系統(tǒng)允許文件類型: .csv");
  exit;
   }
  if(file_exists($this->uploaddir.$_FILES['upload_file']['name']))
  {
    print("備份目錄同名數(shù)據(jù)存在"); //文件存在
    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("原始考勤數(shù)據(jù)文件:".$_FILES['upload_file']['name']."<br>"."<br>");
  //數(shù)據(jù)導(dǎo)入
//  $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);
  //數(shù)據(jù)導(dǎo)入處理
  for($i=1;$i<count($data)-1;$i++) {
   $a=explode(";",$data[$i]);
   //編碼格式轉(zhuǎn)換
   $a[0]=iconv("gb2312", "utf-8", $a[0]);
   $a[1]=iconv("gb2312", "utf-8", $a[1]);
   $a[2]=iconv("gb2312", "utf-8", $a[2]);
   $a[4]=iconv("gb2312", "utf-8", $a[4]);
   $a[5]=iconv("gb2312", "utf-8", $a[5]);
   // print_r($a);
   $t=array();
   $t["ATTENDANCE_FINGERPRINT_ID"]=intval(trim($a[0],"/""));
   $t["ATTENDANCE_USER_NAME"]=trim($a[1],"/"");
   $t["ATTENDANCE_DATE"]=trim($a[2],"/"");
   // $t["ATTENDANCE_DIVISIONS"]=trim($a[3],"/"");//表中字段ATTENDANCE_DIVISIONS在表中刪除
   $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"代表未出勤
    }
   //按考勤規(guī)則重置正常上下班時間
    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);//上班時間分割數(shù)組
   $real_time2 = explode(":",$after_work);//下班時間分割數(shù)組
   //開始處理在勤時間
   $minutes=intval(intval($real_time2[1])-intval($real_time1[1]));
    if($minutes<0)
     {
     $hours=intval(intval(($real_time2[0])-1)-intval($real_time1[0]));
     if($hours<=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]));
     if($hours<=0)
     {
      $hours = intval(intval($real_time2[0])-intval($real_time1[0])+24);
     }
     if($minutes>=10 && $minutes<60) //開始選用strlen判斷字符長度補齊位,現(xiàn)在直接用格式化輸出,原結(jié)構(gòu)不變。
     {$attendance_time = sprintf("%02d", $hours).":".sprintf("%02d", $minutes);}
     else
     {
      $attendance_time = sprintf("%02d", $hours).":".sprintf("%02d", $minutes);
     }
     }
    // 更正未出勤時間情況,去除午休時間的在勤時間
    if($attendance_time=="-1:00")
    {
     $attendance_time="00:00";
    }
   $t["ATTENDANCE_TIME"]=$attendance_time;//保存在勤時間
   $attendance->create($t);//存入數(shù)據(jù)庫
  }
//  print_r("數(shù)據(jù)導(dǎo)入成功")."<br>";
  //原始csv文件數(shù)據(jù)備份,文件保存在系統(tǒng)的./uploadfiles/文件夾下
  switch ($file_error)
  {
  case 0:
   Echo "考勤數(shù)據(jù)更新成功"."<br>"; break;
  case 1:
   Echo "上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值."."<br>"; break;
  case 2:
   Echo "上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。"."<br>"; break;
  case 3:
   Echo "文件只有部分被上傳"."<br>";break;
  case 4:
   Echo "沒有文件被上傳"."<br>";break;
  case 6:
   Echo "找不到臨時文件夾"."<br>";break;
  case 7:
   Echo "文件寫入失敗"."<br>";break;
  }
  echo "<br>";
//  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 '原始數(shù)據(jù)備份成功';
     }
   else
    {
    echo '備份原始數(shù)據(jù)失敗';
    }
  }
 }
}
&#63;>

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家PHP程序設(shè)計有所幫助。

您可能感興趣的文章:

  • fleaphp rolesNameField bug解決方法
  • fleaphp crud操作之find函數(shù)的使用方法
  • fleaphp crud操作之findByField函數(shù)的使用方法
  • fleaphp常用方法分頁之Pager使用方法
  • FleaPHP的安全設(shè)置方法
  • fleaphp下不確定的多條件查詢的巧妙解決方法
  • PHP處理excel cvs表格的方法實例介紹
  • php導(dǎo)入excel文件到mysql數(shù)據(jù)庫的方法
  • PHP導(dǎo)出MySQL數(shù)據(jù)到Excel文件(fputcsv)
  • PHP導(dǎo)入Excel到MySQL的方法
  • phpMyAdmin下將Excel中的數(shù)據(jù)導(dǎo)入MySql的圖文方法
  • php 將excel導(dǎo)入mysql

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1102462.htmlTechArticlephp基于Fleaphp框架實現(xiàn)cvs數(shù)據(jù)導(dǎo)入MySQL的方法,fleaphpcvs 本文實例講述了php基于Fleaphp框架實現(xiàn)cvs數(shù)據(jù)導(dǎo)入MySQL的方法。分享給大家供大家參考...
本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔相應(yīng)法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

Laravel 教程
1601
29
PHP教程
1502
276
超越燈堆:PHP在現(xiàn)代企業(yè)體系結(jié)構(gòu)中的作用 超越燈堆:PHP在現(xiàn)代企業(yè)體系結(jié)構(gòu)中的作用 Jul 27, 2025 am 04:31 AM

PHPisstillrelevantinmodernenterpriseenvironments.1.ModernPHP(7.xand8.x)offersperformancegains,stricttyping,JITcompilation,andmodernsyntax,makingitsuitableforlarge-scaleapplications.2.PHPintegrateseffectivelyinhybridarchitectures,servingasanAPIgateway

PHP中的對象關(guān)聯(lián)映射(ORM)性能調(diào)整 PHP中的對象關(guān)聯(lián)映射(ORM)性能調(diào)整 Jul 29, 2025 am 05:00 AM

避免N 1查詢問題,通過提前加載關(guān)聯(lián)數(shù)據(jù)來減少數(shù)據(jù)庫查詢次數(shù);2.僅選擇所需字段,避免加載完整實體以節(jié)省內(nèi)存和帶寬;3.合理使用緩存策略,如Doctrine的二級緩存或Redis緩存高頻查詢結(jié)果;4.優(yōu)化實體生命周期,定期調(diào)用clear()釋放內(nèi)存以防止內(nèi)存溢出;5.確保數(shù)據(jù)庫索引存在并分析生成的SQL語句以避免低效查詢;6.在無需跟蹤變更的場景下禁用自動變更跟蹤,改用數(shù)組或輕量模式提升性能。正確使用ORM需結(jié)合SQL監(jiān)控、緩存、批量處理和適當優(yōu)化,在保持開發(fā)效率的同時確保應(yīng)用性能。

用PHP和RabbitMQ建造彈性微服務(wù) 用PHP和RabbitMQ建造彈性微服務(wù) Jul 27, 2025 am 04:32 AM

要構(gòu)建彈性的PHP微服務(wù),需使用RabbitMQ實現(xiàn)異步通信,1.通過消息隊列解耦服務(wù),避免級聯(lián)故障;2.配置持久化隊列、持久化消息、發(fā)布確認和手動ACK以確??煽啃?;3.使用指數(shù)退避重試、TTL和死信隊列安全處理失敗;4.通過supervisord等工具守護消費者進程并啟用心跳機制保障服務(wù)健康;最終實現(xiàn)系統(tǒng)在故障中持續(xù)運作的能力。

為PHP創(chuàng)建準備生產(chǎn)的Docker環(huán)境 為PHP創(chuàng)建準備生產(chǎn)的Docker環(huán)境 Jul 27, 2025 am 04:32 AM

使用正確的PHP基礎(chǔ)鏡像并配置安全、性能優(yōu)化的Docker環(huán)境是實現(xiàn)生產(chǎn)就緒的關(guān)鍵。1.選用php:8.3-fpm-alpine作為基礎(chǔ)鏡像以減少攻擊面并提升性能;2.通過自定義php.ini禁用危險函數(shù)、關(guān)閉錯誤顯示并啟用Opcache及JIT以增強安全與性能;3.使用Nginx作為反向代理,限制訪問敏感文件并正確轉(zhuǎn)發(fā)PHP請求至PHP-FPM;4.采用多階段構(gòu)建優(yōu)化鏡像,移除開發(fā)依賴,設(shè)置非root用戶運行容器;5.可選Supervisord管理多個進程如cron;6.部署前驗證無敏感信息泄

VSCODE設(shè)置。JSON位置 VSCODE設(shè)置。JSON位置 Aug 01, 2025 am 06:12 AM

settings.json文件位于用戶級或工作區(qū)級路徑,用于自定義VSCode設(shè)置。1.用戶級路徑:Windows為C:\Users\\AppData\Roaming\Code\User\settings.json,macOS為/Users//Library/ApplicationSupport/Code/User/settings.json,Linux為/home//.config/Code/User/settings.json;2.工作區(qū)級路徑:項目根目錄下的.vscode/settings

深入了解PHP的內(nèi)部垃圾收集機制 深入了解PHP的內(nèi)部垃圾收集機制 Jul 28, 2025 am 04:44 AM

PHP的垃圾回收機制基于引用計數(shù),但循環(huán)引用需靠周期性運行的循環(huán)垃圾回收器處理;1.引用計數(shù)在變量無引用時立即釋放內(nèi)存;2.循環(huán)引用導(dǎo)致內(nèi)存無法自動釋放,需依賴GC檢測并清理;3.GC在“可能根”zval達閾值或手動調(diào)用gc_collect_cycles()時觸發(fā);4.長期運行的PHP應(yīng)用應(yīng)監(jiān)控gc_status()、適時調(diào)用gc_collect_cycles()以避免內(nèi)存泄漏;5.最佳實踐包括避免循環(huán)引用、使用gc_disable()優(yōu)化性能關(guān)鍵區(qū)及通過ORM的clear()方法解引用對象,最

無服務(wù)器革命:使用BREF部署可擴展的PHP應(yīng)用程序 無服務(wù)器革命:使用BREF部署可擴展的PHP應(yīng)用程序 Jul 28, 2025 am 04:39 AM

Bref使PHP開發(fā)者能無需管理服務(wù)器即可構(gòu)建可擴展、成本高效的應(yīng)用。1.Bref通過提供優(yōu)化的PHP運行時層,將PHP帶入AWSLambda,支持PHP8.3等版本,并與Laravel、Symfony等框架無縫集成;2.部署步驟包括:使用Composer安裝Bref,配置serverless.yml定義函數(shù)和事件,如HTTP端點和Artisan命令;3.執(zhí)行serverlessdeploy命令即可完成部署,自動配置APIGateway并生成訪問URL;4.針對Lambda限制,Bref提供解決

在PHP中構(gòu)建不變的物體,并具有可讀的屬性 在PHP中構(gòu)建不變的物體,并具有可讀的屬性 Jul 30, 2025 am 05:40 AM

ReadonlypropertiesinPHP8.2canonlybeassignedonceintheconstructororatdeclarationandcannotbemodifiedafterward,enforcingimmutabilityatthelanguagelevel.2.Toachievedeepimmutability,wrapmutabletypeslikearraysinArrayObjectorusecustomimmutablecollectionssucha

See all articles