Airship\Cabin\Bridge\Blueprint\Files::isolateFiles PHP Method

isolateFiles() public method

USAGE: $result = $this->isolateFiles($_FILES['some_index']);
public isolateFiles ( array $files = [] ) : array
$files array
return array
    public function isolateFiles(array $files = []) : array
    {
        $isolated = [];
        $numFiles = \count($files['name']);
        for ($i = 0; $i < $numFiles; ++$i) {
            $isolated[$i] = ['name' => $files['name'][$i], 'type' => $files['type'][$i], 'tmp_name' => $files['tmp_name'][$i], 'error' => $files['error'][$i], 'size' => $files['size'][$i]];
        }
        return $isolated;
    }

Usage Example

コード例 #1
0
ファイル: FileManager.php プロジェクト: paragonie/airship
 /**
  * Upload files
  *
  * @param int $directoryId
  * @param string $cabin
  * @return array
  */
 protected function uploadFiles($directoryId = null, string $cabin = '') : array
 {
     $results = [];
     $newFiles = $this->files->isolateFiles($_FILES['new_files']);
     if (empty($newFiles)) {
         return ['status' => 'ERROR', 'message' => 'No files were uploaded.'];
     }
     foreach ($newFiles as $file) {
         try {
             $results[] = $this->files->processUpload($directoryId, $cabin, $file, $this->attribution);
         } catch (UploadError $ex) {
             $this->log('File upload failed', LogLevel::ERROR, \Airship\throwableToArray($ex));
         }
     }
     return ['status' => 'SUCCESS', 'message' => 'Upload successful'];
 }