Pocket
LINEで送る

フォルダとかファイルとかをいじりたいときは、

App::uses('Folder', 'Utility');
App::uses('File', 'Utility');

を設定する。

以下の関数内でフォルダをあるかないか確認したり、消したり、作ったりした。
でも、$dir->create(‘フォルダ名’);とやると、webroot以下だと作れたが、それより上位層だと作れなかった。。。
なんでだろう。これではまったので、細かいことを調べていないがとりあえずメモ。

private function make_bill($filename,$info){
	Configure::write('debug', 0);
	App::import('Vendor', 'Mpdf/mpdf');
	
	//PDF作成用HTMLの取得
	$View = new View();
	$View->viewPath = 'Jobs'; // Viewの下のフォルダ名
	$View->viewVars = $info; //パラメータ
	$html = $View->render('make_bill','pdf');
	
	//保存先パスの作成
	$path = $this->bill_path;
	$path .= $info['job_id'];
	
	//ディレクトリ・ファイルの存在チェック
	//job_idのフォルダがあったら1回消して再度つくる
	//なかったらつくる
	$dir = new Folder($path);
	if($dir){
		$dir->delete();
		$dir = new Folder($path,true,0755);
	}else{
		$dir = new Folder($path,true,0755);
	}

	if($dir){
		$path = $dir->path . DS;
		
		//PDF作成
		$mpdf = new mPDF('ja', 'A4');
		$mpdf->writeHTML($html);
		$mpdf->Output($path . $filename,'F');
		
		return true;
		
	}else{
		return false;
	}
}
Pocket
LINEで送る

カテゴリー: プログラミング

コメントください

関連記事

プログラミング

Go言語によるビットコインのフルノード実装btcdを調べる(2)

btcdを実行した際のプログラムの流れを最初から確認してみます。 se 続きを読む …

プログラミング

Go – leveldb

Goで使えるLevelDB。 syndtr/goleveldb ドキュ 続きを読む …

%d人のブロガーが「いいね」をつけました。