2012年06月29日
講義088日目
------------------------------1H------------------------------
★職場体験
●インポートのプログラムを作成する
・任意のディレクトリを作成する
・実行権限のあるphpファイルを作成する
・コマンドでphpファイルを実行する
●ファイルが存在してるか確認の条件分岐
・file_exists()
------------------------------2H------------------------------
●ファイルを/csvから/importにコピーする
・copy()
・アパッチからの書き込み権限(その他の書き込み権限)が無かったので
ブラウザ上からのコピーができてなかった
・puttyで自分のユーザで打てば解決
------------------------------3H------------------------------
●nkfコマンドを実行してutf-8に変換
・nkf -w --overwriteコマンドをphpのsystem()で実行するロジックを作成
☆linuxでしか動かない処理なので関数化するなどして複数の環境で対応できるようにする
●csvファイルを取り込む
・fopen()
・fgetcsv() 第二引数は一行のバイト数っぽい
・fgetcsv()はcsvファイルの接続情報しか変数に入らないので、接続情報をwhileでまわす
$data配列をさらに別な$arr_import_file配列に入れて多次元配列で保持
フラグを立てて、最初のカラム名部分を読み込まないロジックを作成してもいい
------------------------------4H------------------------------
●//データベースに接続
・配列を色々取得したりとか試行錯誤
・結局時間内には完成しなかった
データベースに入力する部分までたどり着けなかったのは残念だ
------------------------------5H------------------------------
★職場体験
●インポートのプログラムの解説
・まずはファイル/ディレクトリ構成を決めておく
base_csvディレクトリ→元になるcsvが置かれるべき場所
tmpディレクトリ→作業ディレクトリ
outputディレクトリ→吐き出されるcsvが置かれる場所
logディレクトリ→ログ保存
import_php→インポートの処理を行うプログラム
・ロジックの流れ
①ファイルのコピー
②データの読み込み、文字コードのチェック
③読み込んだデータを出力フォーマット配列に放り込む
住所、沿線のチェック、必要に応じてログ吐き出し
④csvが置かれる場所に吐き出す
⑤tmpディレクトリのコピーを消す
☆returnでエラーの表示をして処理を終了させてもいい
exitは使わないほうがいい
exit(1);などで正常終了してるかを判断するなども可能
-----------------------------memo------------------------------
0 件のコメント:
コメントを投稿