2021년 목표설정

이미지
기본적으로 작년에 달성하지 못한 것들을 하려고 생각중인데..코로나가 언제까지 이어질지, 한국이나 북해도는 갈 수 있을지..자격증은 응시 가능할지..여러가지가 불확실하다. 2021년은 무엇보다 정신적인 부분과 경제적인 부분에 중점을 두고 조금 더 치열하게 지내보고 싶다. 일본나이로도 30대 마지막 해, 이제 불혹에 접어드는 나이..복잡하지만 심플하게. 육체적목표 : 트라이에슬론 스탠다드 도전하기 정신적 : 자격증2개 도전 + 자체개발 서비스 론칭 가족적 : 가정의 평화를 유지하기 경제적 : 외식과 유흥비를 줄이고 부수입을 늘려서 결과적으로 저축하기 사회적 : 목표세미나를 포함해서 민단과 개인인맥의 활성화와 교류를 촉진하기

php로 csv 파일을 import/export 하는 샘플코드

요건 임포트 하는 코드 ㅋㅋ
【PHP】 CSVをいい感じにインポートする方法を紹介します
    // ファイル取得
    $filepath "../file/test.csv";
    $file new SplFileObject($filepath); 
    $file->setFlags(SplFileObject::READ_CSV);
 
    // 全行のINSERTデータ格納用
    $ins_values "";
 
     
 
    // ファイル内のデータループ
 
    foreach $file as $key => $line ) {
 
     
        // 配列の値がすべて空か判定
        $judge countarray_count_values$line ) );
         
        if$judge == 0 ){
             
            // 配列の値がすべて空の時の処理
            continue;
        }
         
        // 1行毎のINSERTデータ格納用
        $values "";
 
        foreach $line as $line_key => $str ) {
             
            if$line_key > 0 ){
 
                $values .= ", ";
            }
 
            // INSERT用のデータ作成
            $values .= "'".mb_convert_encoding( $str"utf-8""sjis" )."'";
        }
         
        if( !empty$ins_values ) ){ 
 
            $ins_values .= ", ";
        }
 
        $ins_values .= "("$values ")";
    }
 
 
    $sql_insert "INSERT INTO テーブル名 ( カラム01, カラム02, カラム03 ) VALUES " $values;
    mysql_query( $sql_insert$connect );

요건 엑스포트 하는 코드 ㅋㅋ
【PHP】データをCSVでいい感じにエクスポートする方法
【コード】
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
    // ファイル名
    $file_path "export.csv";
 
    // CSVに出力するタイトル行
    $export_csv_title array"id""氏名""性別""電話番号" );
 
    // CSVに出力する内容
    $sql_export "SELECT id, 氏名, 性別, 電話番号 FROM table1 ";
    $res_export = mysql_query( $sql_export$connect );
     
    if( touch($file_path) ){
         
        // オブジェクト生成
        $file new SplFileObject( $file_path"w" ); 
         
        // タイトル行のエンコードをSJIS-winに変換(一部環境依存文字に対応用)
        foreach$export_csv_title as $key => $val ){
                 
            $export_header[] = mb_convert_encoding($val'SJIS-win''UTF-8');
        }
 
        // エンコードしたタイトル行を配列ごとCSVデータ化
        $file->fputcsv($export_header);
         
        while$row_export = mysql_fetch_assoc( $res_export ) ){
             
            $export_arr "";
 
            // 内容行のエンコードをSJIS-winに変換(一部環境依存文字に対応用)
            foreach$row_export as $key => $val ){
 
                $export_arr[] = mb_convert_encoding($val'SJIS-win''UTF-8');
            }
             
            // エンコードした内容行を配列ごとCSVデータ化
            $file->fputcsv($export_arr);    
        }
    }
 
    // ダウンロード用
    header("Pragma: public"); // required
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: private",false); // required for certain browsers 
    header("Content-Type: application/force-download");
    header("Content-Disposition: attachment; filename=\\"".basename($file_path)."\\";" );
    header("Content-Transfer-Encoding: binary");
    readfile("$file_path");    

댓글

이 블로그의 인기 게시물

[메모] PostgreSQL에서 Insert 하는 경우 자동채번 PK가 중복에러 나는 경우

[C# & LINQ] 랜덤으로 데이터를 한 개 추출하는 방법

[react-native] uuid 생성이 에러가 날 때 대처법