<?php /** * FileUploadUtil * ファイルアップロードの処理、そこで得られる配列のデータ化 * $Id: FileUploadUtil.inc,v 1.1 2015/10/08 11:18:56 wanggb Exp $ * @author iimuro * @access public * @package jp.aimslib2.io */ class FileUploadUtil { /** * 指定された名前のリクエストに対するUploadFileを作成します。 * @param $name リクエスト中の名前。 * @return mixed 一つ、又は配列のUploadFile */ public static function getFileRequest($name) { $data = $_FILES[$name]; return FileUploadUtil::getFile($data); } /** * 指定された名前のリクエストに対するUploadFileを作成します。 * @param $data $_FILESに含まれるデータ要素 * @return mixed 一つ、又は配列のUploadFile */ public static function getFile($data) { if (is_array($data["name"])) { // 配列型のデータの場合 return getScalarFile($data); } else { // 単体のデータの場合 return getArrayFile($data); } } /** * 単体のデータである場合のFileUpload処理を行います。 * @param $data $_FILESに含まれるデータ要素 */ public static function getScalarFile($data) { $file = new UploadFile(); $file->name = $data["name"]; $file->type = $data["type"]; $file->size = $data["size"]; $file->tmp_name = $data["tmp_name"]; $file->error = $data["error"]; return $file; } /** * 配列のデータである場合のFileUpload処理を行います。 * @param $data $_FILESに含まれるデータ要素 */ public static function getArrayFile($data) { $result = array(); for($x = 0; $x < count($data["name"]); $x++) { $tmp = new UploadFile(); $tmp->name = $data["name"][$x]; $tmp->type = $data["type"][$x]; $tmp->size = $data["size"][$x]; $tmp->tmp_name = $data["tmp_name"][$x]; $tmp->error = $data["error"][$x]; array_push($result, $tmp); } return $result; } } ?>