首頁 >後端開發 >php教程 >讀取兩個excl檔案和圖片資料夾 並將其中的圖片檔案移動其他資料夾excl內容上傳資料庫

讀取兩個excl檔案和圖片資料夾 並將其中的圖片檔案移動其他資料夾excl內容上傳資料庫

WBOY
WBOY原創
2016-07-28 08:27:0556277瀏覽

$name=$_POST;
include ('../PHPExcel.php');
include '../PHPExcel/Writer/Excel2007.php';
require '. ./../../data/config.php';
define('FILE_URL','../../../attachment/');//儲存的路徑
define(" FILE1","../../../FTP_FILE/file1.xlsx");//檔案1  詳細商品資訊
define("FILE2","../../../FTP_FILE/file1 .xlsx");//檔案2  商品來源位址
define("FILE_IMG","../../../FTP_FILE/contentPic/..");//contentPic圖片資料夾
     / / $number=$_POST['number'];//取得人數
     // $setime=$_POST['setime'];//取得時間
    // print_r($_FILES);//取得檔案路徑等
   // move_uploaded_file($_FILES['file_1']['tmp_name'], 'FILE1.xlsx');
//--------------- -------------------------------------------------- ----------------------判斷使用者是否上傳了FILE1和FILE2檔案
if(file_exists("../../../FTP_FILE/ FILE1.xlsx")&&file_exists("../../../FTP_FILE/FILE2.xlsx")){
}else{
     echo "對不起檔案不存在,請上傳檔案";
exit;
}
//--------------------------------------- ------------------------------------------------FILE1檔案取得
//循環
 $filePath = "../../../FTP_FILE/FILE1.xlsx";  
//建立reader物件 
$PHPReader = new PHPExcel_Reader_Excel2007();
if(!$PHPReader->canRead($filePath)){  
    $PHPReader = new PHPExcel_Reader_Excel5();  
    if(!$PHPReader->canno)( Excel'; $PHPReader->load($filePath);  
/**讀取excel檔案中的第一個工作表*/  
$currentSheet = $PHPExcel->getSheet(0);  
/**取得最大的列號*/  
$allColumn = $currentSheet->getHighestColumn();  
/**取得一共有多少行*/  
$allRow = $currentSheet->getHighestRow();  
//循環循環讀取每個單元格的內容。注意行從1開始,列從A開始 
$cd_array=array();
$arr =array(); 
$temp=array(
    'A'=>'name',
    'B'=>'class',
    'C'=>'C',
    'D'=>'D',
    'E' =>'E',
    'F' =>'F',
    'G'=>'G',
    'H'=>'macth',
    'I'=>'I',
 🎜>    'I'=>'I',
 🎜>    ' J'=>'number',
    'K'=>'K',
    'L'=>'L',
    'M'=>'M',
    'N' =>'N',
    'O'=>'O',
    'P'=>'P',
    'Q'=>'Q',
   'R'=>> 'R',
    'S'=>'S',
    'T'=>'T',
    'U'=>'descript',
    'V'=>'U'=>'descript',
    'V'=>'V ',
    'W'=>'W',
    'X'=>'X',
    'Y'=>'Y',
    ); 對應//指定產生表對應/指定產生表的陣列欄位名稱
for($rowIndex=4;$rowIndex    for($colIndex='A';$colIndex        $addr = $colIndex.$rowIndex;  
        $cell = $currentSheet->getCell($addr)->文字轉換字串 
            $cell = $cell->__toString();  
            $arr[$temp[$colIndex]]=$ 🎜>     unset( $arr);
}  
//------------------------------------- -------------------------------------------------- ------------FILE2檔案取得
 $filePath = "../../../FTP_FILE/FILE2.xlsx";  
//建立reader物件 
$ PHPReader = new PHPExcel_Reader_Excel2007();  
if(!$PHPReader->canRead($filePath)){  
    $PHPReader = new PHPExcel_Reader_Excel5(pader); ){  
         echo 'no Excel';  
        return ;  
    }  
}  
    }  
}  
 .入檔案 
$PHPExcel = $PHPReader->load($filePath);  
/**讀取excel檔案中的第一個工作表*/  
$currentSheet = $PHPExcel->getSheet(0);  
/**
/**
取得最大的列號*/  
$allColumn = $currentSheet->getHighestColumn();  
/**取得一共有多少行*/  
$allRow = $currentSheet->getHighestRow(); / 讀取每個單元格的內容。注意行從1開始,列從A開始 
//建立reader物件 
$url_array=array();
$arr =array();
for($rowIndex=2;$rowIndex     for($rowIndex++){  
    for($colIndex='A';$colIndex     col $addr = $.Index. = $currentSheet->getCell($addr)->getValue();  
        if($cell instanceof PHPExcel_RichText)     //健康轉換字串  
   $arr[] = $cell;
    }  
     $url_array[] = $arr;
     unset($arr);} 1
  對 $. ) {
                foreach ($url_array as $key1 => $value1) {
         努                   
                         $cd_array[$key ]['url'] = $value1[1];
                    }
              🎜>$cd_info1=array();
   foreach ( $cd_array as $key => $value) {
            foreach ($value as $key1 => $value1) {
       $key1=='macth'||$key1=='descript'||$key1=='url'||$key1=='name'){
                        1$cd_info[$1] = $value1; 🎜>                    }
                }
   _------------ ---------------- ---------------- -------------------------------------------------- -----------------------------循環所有圖片路徑為陣列
    $j=0;//變數
    $ arr = array();//數組
    $cd_img=array();
    foreach($cd_info1 as $key=>$value){   
         
          foreach($value as $key1=> $value1){
                if($key1=='descript'){
                                         preg_match_all("/讀取兩個excl檔案和圖片資料夾 並將其中的圖片檔案移動其他資料夾excl內容上傳資料庫]*)s*src= ('|")([^'"]+)('|")/", $text,$matches);
                           $new_arr0              $arr = array ();
                            foreach($new_arr as $val)
                            {
                                $i = explode('src=',$val)[1];
                                $arr[] = substr($i },1,strlen($i)-2);
                           }
     $cd_img[]=$arr;
    }
// ------ -----------------------------------函數封裝------------- -------------------------1---------
function hover_file($file_url,$file_name){
    //判斷並建立資料夾
    $y=date('Y',time());//年
    $m=date('m',time());
  if( !is_dir('../../../attachment/images/'.$y.$m)){
       mkdir('../../../attachment/images/'.$y .$m,0777);//建立年+月的資料夾權限為最高
    }
    //取得圖片路徑並移動
    $text=$file_url;//圖片路徑1
    //  $file_url;
   > /圖片路徑2
     $text1;
    rename(iconv("UTF-8","GBK",$text),iconv("UTF-8","GBK",$text1));
}
//------------------------------------------- -------------------------------------------------- ---把所有的資料加到資料庫
            //新增資料
                $uid=array()         foreach ($cd_info1 as $key => $value ) {
                   // var_dump($value);
               $img_list= $cd_img[$k_n];
                    //循環儲存詳細資料中的頁面
   $ 1 2 =null;
                    foreach ($img_list as $key3 => $value3) {
       $ p 2 p>讀取兩個excl檔案和圖片資料夾 並將其中的圖片檔案移動其他資料夾excl內容上傳資料庫

";
                   }                 }  ---------------------------------------新增主圖-------- ------------------------------------------
                      $lotimg=0; //定數器
                      foreach($cd_img[$k_n] as $key1 =>$value1){                              $number1=$arr_1[count ($arr_1)-1];
                              $number2=$arr         $number = "../../../FTP_FILE/contentPic/".$number2 .'/'.$number1;//取得圖片 真實路徑
                              // 記憶    // $aa=getimagesize($number);
                              // $width=$aa[ '0'];
                              $as= getimagesize(iconv("UTF-8","GBK",$number));                              // echo $height;
                              if($height>220){
                                   $imgs=basename($number);
                                   break;
                                }else{
                                    $imgs= '';
                                }
          🎜>                                if($lotimg=>5){break;}                    $a = "從"中選擇*。 select * from " .tablename('tg_goods') . "where gname='".$value['name ']."'");
                    if($set['gname']!=$value['name'name》 ){
                         $data = array(
                                                    'fk _typeid' =>$tuan_class,
         🎜 >                           'gsn'=>$value['class'],
'gprice'==      'uniacid'=>'1',
                           'isshow'= > '1',
                         'createtime'=>(),
       .團購價格
                           'oprice'=>$value['macth' ]*0.2+$value['macth'] ,// // 單獨
'mprice'=> $ value ['macth']*0.5+$ value ['macth'],// //原價
'gimg'=&gt'=>'images/'。 🎜>                          // 'groupnum'=> rand(2, 24),//拼團×     $tuan_number,//拼團××
                           'salenum'=>rand( 7 , 999), // 已售出數量
                            // 'endtime'=>rand(8,        'endtime'=>$tuan_data,
                          'gdetaile'= > $img_list1,
                            'gnum'=>$value['number'],//庫存
   'gdesc'=>$img_list1,//詳情頁捲軸
                          );
pdo_insert('tg_goods ', $data);
                            $set = pdo_fetch("select * from " .tablename('tg_goods'cname. ;
$uid[]=$set['id'];//取得id
                        // 上新增🎜>                           echo  「抱歉,且已存在檔案中。」;
                         
                        $k_n=$k_n+1;
                   
          }
                //--------------------------------------------- -----------------------------------------------圖片存入資料庫
                var_dump($uid[0]);
                $j_n=0;//自增變數
                    foreach ($cd_img as $key => $value) {
                                ''; $value2) {
                                    $y=date('Y',time)上('Y',time)) ;$m=date('m',time());//文件夾名字所需的年月
                                     ;
                                    $data = array($uid[$j_n],
                                                  );
                            pdo_insert('tg_goods_atlas', $data);
                                                             }
             j_n=$j_n+1;   
                    }
               }
                // $set = pdo_fetch("select * from " . tablename('tg_goods') . "where fk_typeid=".$value['class']."");
                //  $set['gname'].'';
//--------- -------------------------------------$cd_img是取得到的圖片數組路徑-執行循環移動圖片----------------------------
foreach ($cd_img as $key => $value) {
    foreach( $value as $key1 =>$value1){
    $arr_1=explode('/',$value1);
    // print_r($arr_1);
    $number1=$arr_1[]($ arr_1)-1];
    $number2=$arr_1[count($arr_1)-2];
   
    $url_name=$number2.'/'.$number1;//相對資料夾路徑/ xxxxxx/xxx.jpg
    $img_name=basename($value1);//圖片檔案名稱
    $hostdir=dirname("../../../FTP_FILE/contentPic/..");/ /設定圖片路徑
    //取得也就是掃描資料夾內的檔案及資料夾名稱存入陣列$filesnames
    $filesnames = scandir($hostdir);  //檔案名稱目錄
   ir($hostdir);  //檔案名稱目錄
     $y= date('Y',time());//年
    $m=date('m',time());
    $text= $hostdir.'/'.$url_name;  //圖片路徑1
    $text1="../../../attachment/images/".$y.$m."/".$img_name."";//圖片路徑2
    hover_file( $text,$text1);//執行行動檔案函數 
    }
$arr_1='';
}
//--------------- ----------------------------------------------刪除所有檔案
function deldir($dir) {
  $dh=opendir($dir);
  while ($file=readdir($dh)) {
    if($file!="." &$dh)) {
    if($file!="." && $ file!="..") {
      $fullpath=$dir."/".$file;
      if(!is_dir($fullpath)) {
  path$      ); } else {
          deldir($fullpath);
      }
    }
  }
  closedir($dh);
  //刪除目前資料夾:
  if(rmdir($dir)) {
    return true;
  } else {
🎜>  }
}
 deldir('../../../FTP_FILE/contentPic');//刪除資料夾目錄
$file1 = "../../../ FTP_FILE/FILE1.xlsx";
$file2 = "../../../FTP_FILE/FILE2.xlsx";
unlink($file1);//刪除檔案1
unlink($ file2);//刪除檔案2
echo "<script>alert('商品導入成功,點選確定跳轉'); window.location.href=document.referrer;</script>";
? >
以上就介紹了 讀取兩個excl檔案和圖片資料夾 並將其中的圖片檔案移動其他資料夾excl內容上傳資料庫,包括了方面的內容,希望對PHP教學有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn