/** * CabinetFileデータをファイルパスから作成する * * @param Model $model Model * @param array $parentCabinetFolder 親フォルダデータ * @param string $filePath ファイルパス * @return array フォームからポストされる形のCabinetFileデータ */ protected function _makeCabinetFileDataFromPath(Model $model, $parentCabinetFolder, $filePath) { //MIMEタイプの取得 $finfo = new finfo(FILEINFO_MIME_TYPE); $mimeType = $finfo->file($filePath); $newFile = ['CabinetFile' => ['cabinet_id' => $parentCabinetFolder['CabinetFile']['cabinet_id'], 'is_folder' => false, 'filename' => $model->basename($filePath), 'status' => WorkflowComponent::STATUS_PUBLISHED, 'file' => ['name' => $model->basename($filePath), 'type' => $mimeType, 'tmp_name' => $filePath, 'error' => 0, 'size' => filesize($filePath)]], 'CabinetFileTree' => ['parent_id' => $parentCabinetFolder['CabinetFileTree']['id'], 'cabinet_key' => $parentCabinetFolder['CabinetFileTree']['cabinet_key']]]; $newFile = $model->create($newFile); return $newFile; }