ホームページ > バックエンド開発 > PHPチュートリアル > 2 つの excl ファイルと画像フォルダーを読み取り、画像ファイルを他のフォルダーに移動し、excl コンテンツをデータベースにアップロードします。

2 つの excl ファイルと画像フォルダーを読み取り、画像ファイルを他のフォルダーに移動し、excl コンテンツをデータベースにアップロードします。

WBOY
リリース: 2016-07-28 08:27:05
オリジナル
56273 人が閲覧しました

$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ファイル取得
//Loop
$filePath = "../../../FTP_FILE/FILE1.xlsx" ;
//リーダーオブジェクトを作成します
$PHPReader = new PHPExcel_Reader_Excel2007();
if(!$PHPReader->canRead($filePath)){
$PHPReader = new PHPExcel_Reader_Excel5(); canRead($filePath)){
'No Excel ';
Return;
}}}
// Excel オブジェクトを作成します。この時点で Excel オブジェクトを通じてファイルを読み取ることも、Excel オブジェクトを通じてファイルを書き込むこともできます
$ phpexcel = $ phpreader-> ロード ($ ファイルパス)
$currentSheet = $PHPExcel->getSheet(0);
$allColumn $currentSheet->getHighestColumn();
/**Excel ファイルの最初のワークシートを読み取ります*/
$allRow = $currentSheet->getHighestRow();
//各セルの内容を読み取るループ。行は 1 から始まり、列は A から始まることに注意してください
$cd_array=array();
$arr =array();
$temp=array(
'A'=>'name',
'B'=>) ; 'クラス',
'C'=>'C',
'D'=>'D',
'E' =>'E',
'F' =>'F',
' G'=>'G',
'H'=>'macth',
'I'=>'I',
'J'=>'数値',
'K'=> ' K'、
'L'=>'L'、
'M'=>'M'、
'N'=>'N'、
'O'=>'O'、
' P '=>'P'、
'Q'=>'Q'、
'R'=>'R'、
'S'=>'S'、
'T'=>' T '、
'U'=>'説明'、
'V'=>'V'、
'W'=>'W'、
'X'=>'X'、
'Y ' =>'Y',
); //生成された Excel テーブルに対応する配列フィールド名を指定
for($rowIndex=4;$rowIndex<=$allRow;$rowIndex++){
for($colIndex=' A'; $colIndex<='Y';$colIndex++){
$addr = $colIndex.$rowIndex; $cell = $currentSheet->getCell($addr)->getValue();変換文字列
$cell = $cell->__toString(); $arr[$temp[$colIndex]]=$cell);
}
//----------- ------------------------ ----------------------------- ------------------------ --------FILE2 ファイル取得
$filePath = "../../ ../FTP_FILE/FILE2.xlsx";
//リーダーオブジェクトの作成
$PHPReader = new PHPExcel_Reader_Excel2007();
if( !$PHPReader->canRead($filePath)){
$PHPReader = new PHPExcel_Reader_Excel5();
if(!$PHPReader->canRead($filePath)){
echo 'no Excel';
}
}
//この時点で、Excel オブジェクトを介してファイルを読み取ることも、書き込むこともできます。ファイルを介して
$PHPExcel = $PHPReader->load($filePath);
/**Excel ファイルの最初のワークシートを読み取ります */
$currentSheet = $PHPExcel->getSheet(0);
$allColumn = $currentSheet->getHighestColumn();
/**最大の列番号を取得します*/
$allRow = $currentSheet->getHighestRow();
//各セルの内容を読み取るループ。行は 1 から始まり、列は A から始まることに注意してください
//リーダー オブジェクトを作成します
$url_array=array();
$arr =array();
for($rowIndex=2;$rowIndex<=$allRow;$rowIndex++ ) {
for($colIndex='A';$colIndex<='B';$colIndex++){
$addr = $colIndex.$rowIndex;
$cell = $currentSheet->getCell($addr)-> ; getValue(); $url_array[] = $ arr;
unset($arr);
} foreach ($cd_array as $key => $value) {
foreach ($url_array as $key1 => $value1) {
if($value['name' ]==$value1[0]){
}
}
$cd _info=array();
$cd_info1=array( );
foreach ($cd_array as $key => ; $value) {
foreach ($value as $key1 => $value1) {
foreach if($key1=='number'||$key1=='class '||$key1=='macth'| | $ key1 == 'descript' || $ key1 == 'url' || $ key1 == 'name'){------------------------------------------------------------------------------------------------ ------------------------------ --------------------すべての画像パスを配列にループします
$j=0;//変数
$arr = array();//配列
$cd_img= array();
foreach($cd_info1 as $key=>$value){
$text = $ value1; // 代入
preg_match_all ("/& lt; img ([^& gt;]*) s*src = ('|") ([^' "]/('|"), $ text .foreach($new_arr as $val)
[1]; }
$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;
// $file_url;
$text1=$file_name;//画像パス 2
$text1;
名前変更 (iconv("UTF-8","GBK",$text),iconv("UTF-8","GBK",$text1));
}
//--------- -------------------------------------------------- -- ----------------------------------すべてのデータをデータベースに追加します
//新しいデータを追加します
$ uid = array(); $value3)."'/>";
-メイン画像を追加----------------------------- -------------------- ----
$arr_1=explode('/',$value1);
$arr_1=explode('/',$value1 );
$ number1 = $ arr_1 [count($ arr_1)-1]; = $ aa ['0']; =lotimg+1;
5){ブレイク;}
}
$a = "select * from " .テーブル名('tg_goods') 。 "where gsn=".$value['class']."";
$set = pdo_fetch("select * from " . tablename('tg_goods') . "where gname='".$value['name'] ."'");
if($set['gname']!=$value['name']){
$data = array(
'gname' =& gt;$value['name'],
' fk_typeid' =>$tuan_class,
'category_parentid'=>$tuan_class,
'gsn'=>$value['class'],
'gprice'=>$value['maprric'],
' uniacid'=>'1',
'isshow'=>'1',
'createtime'=>time(),
'gprice'=>$value['macth'],//团购价格
'oprice'=>$value['macth']*0.2+$value['macth'],//单独购买价格
'mprice'=>$value ['macth']*0.5+$value[ 'macth'],//原价
'gimg'=>'images/'.date('Y',time()).date('m',time()).'/'.$imgs, / /主图
// 'groupnum'=> rand(2, 24),//拼团人数
'groupnum'=>$tuan_number,//拼团人数
'salenum'=>rand(7, 999),//既出售数
// ' endtime'=>rand(8, 24),//拼团時間制限
'endtime'=>$tuan_data,
'gdetaile'=>$im g_list1,
'gnum'=>$value['number '],//库存
// 'gdesc'=>$img_list1,//详情页滚動图片
);
pdo_insert('tg_goods', $data);
$set = pdo_fetch("select * from " . TableName( 'tg_goods')。新增
}else{
echo 「申し訳ありませんが、文件が存在します。」;

}
$k_n=$k_n+1;

}
//-------------------------------------------- --- --------------------------------------------------- - データベースに保存された画像
var_dump($uid[0]); ) {
'& lt;/br & gt;';
Foreach ($ value as $ key2 = & gt; $ value2) {
$ y = date (Y '、time()); img_url .'- '.' & lt;/br & gt; ';}}
$ j_n = $ j_n+1; from " . tablename('tg_goods') . " where fk_typeid=".$value['class' ]."");
------------------------------------------- -------$cd_img を取得 画像配列へのパス - 画像を移動するループを実行 ------------------------- --------
foreach ($cd_img as $key => $ value) {
foreach($value as $key1 =>$value1){
$arr_1=explode('/',$ value1);
// print_r($arr_1);
$number1=$arr_1[count( $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 ); //ファイル名ディレクトリ
$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='';
}
//-------- ----------------------------- ---------------すべてのファイルを削除
関数 deldir ($dir) {
$dh=opendir($dir);
while ($file=readdir($dh)) {
if($file!="." && $file!="..") {
$ fullpath = $ dir。 "/"。$ file;
Closedir($dh);
//現在のフォルダーを削除します:
if(rmdir($dir)) {
return true;
} else {
return false;
}
}
deldir('../.. /../FTP_FILE/contentPic');//フォルダーディレクトリを削除します
$file1 = "../../../FTP_FILE/FILE1.xlsx";
$file2 = "../../.. /FTP_FILE/FILE2.xlsx";
unlink($file1);//ファイル 1 を削除
unlink($file2);//ファイル 2 を削除
echo "<script>alert('製品は正常にインポートされました。[OK] をクリックしてくださいジャンプする '); window.location.href=document.referrer;</script>";
?>

以上、2つのexclファイルと画像フォルダを読み込み、画像ファイルを他のフォルダに移動し、exclの内容をデータベースにアップロードする方法を紹介しましたが、内容も含めてPHPチュートリアルに興味のある友人の参考になれば幸いです。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート