protected function processSingleFile(array $file)
    {
        // store it for future reference
        $file['original_name'] = $file['name'];

        // sanitize the file name
        $file['name'] = $this->sanitizeFileName($file['name']);

        $file = $this->validateFile($file);
        // if there are messages the file is not valid
        if (isset($file['messages']) && $file['messages']) {
            return $file;
        }

        // add the prefix
        $prefix = '';
        if (is_callable($this->prefix)) {
            $prefix = (string) call_user_func($this->prefix, $file['name']);
        } elseif (is_string($this->prefix)) {
            $prefix = (string) $this->prefix;
        }

        // if overwrite is not allowed, check if the file is already in the container
        if (!$this->overwrite) {
            if ($this->container->has($prefix . $file['name'])) {
                // add the timestamp to ensure the file is unique
                // method is not bulletproof but it's pretty safe
                $file['name'] = time() . '_' . $file['name'];
            }
        }

        // attempt to move the uploaded file into the container
        if (!$this->container->moveUploadedFile($file['tmp_name'], $prefix . $file['name'])) {
            $file['name'] = false;

            return $file;
        }

        $file['name'] = $prefix . $file['name'];
        // create the lock file if autoconfirm is disabled
        if (!$this->autoconfirm) {
            $this->container->save($file['name'] . '.lock', (string) time());
        }

        return $file;
    }
protected function processSingleFile(array $file)
    {
        // store it for future reference
        $file['original_name'] = $file['name'];

        // sanitize the file name
        $file['name'] = $this->sanitizeFileName($file['name']);

        $file = $this->validateFile($file);
        // if there are messages the file is not valid
        if (isset($file['messages']) && $file['messages']) {
            return $file;
        }

        // add the prefix
        $prefix = '';
        if (is_callable($this->prefix)) {
            $prefix = (string) call_user_func($this->prefix, $file['name']);
        } elseif (is_string($this->prefix)) {
            $prefix = (string) $this->prefix;
        }

        // if overwrite is not allowed, check if the file is already in the container
        if (!$this->overwrite) {
            if ($this->container->has($prefix . $file['name'])) {
                // add the timestamp to ensure the file is unique
                // method is not bulletproof but it's pretty safe
                $file['name'] = time() . '_' . $file['name'];
            }
        }

        // attempt to move the uploaded file into the container
        if (!$this->container->moveUploadedFile($file['tmp_name'], $prefix . $file['name'])) {
            $file['name'] = false;

            return $file;
        }

        $file['name'] = $prefix . $file['name'];
        // create the lock file if autoconfirm is disabled
        if (!$this->autoconfirm) {
            $this->container->save($file['name'] . '.lock', (string) time());
        }

        return $file;
    }
protected function processSingleFile ( array $ file ) { // store it for future reference $ file [ 'original_name' ] = $ file [ 'name' ] ; // sanitize the file name $ file [ 'name' ] = $ this -> sanitizeFileName ( $ file [ 'name' ] ) ; $ file = $ this -> validateFile ( $ file ) ; // if there are messages the file is not valid if ( isset ( $ file [ 'messages' ] ) && $ file [ 'messages' ] ) { return $ file ; } // add the prefix $ prefix = '' ; if ( is_callable ( $ this -> prefix ) ) { $ prefix = ( string ) call_user_func ( $ this -> prefix , $ file [ 'name' ] ) ; } elseif ( is_string ( $ this -> prefix ) ) { $ prefix = ( string ) $ this -> prefix ; } // if overwrite is not allowed, check if the file is already in the container if ( ! $ this -> overwrite ) { if ( $ this -> container -> has ( $ prefix . $ file [ 'name' ] ) ) { // add the timestamp to ensure the file is unique // method is not bulletproof but it's pretty safe $ file [ 'name' ] = time ( ) . '_' . $ file [ 'name' ] ; } } // attempt to move the uploaded file into the container if ( ! $ this -> container -> moveUploadedFile ( $ file [ 'tmp_name' ] , $ prefix . $ file [ 'name' ] ) ) { $ file [ 'name' ] = false ; return $ file ; } $ file [ 'name' ] = $ prefix . $ file [ 'name' ] ; // create the lock file if autoconfirm is disabled if ( ! $ this -> autoconfirm ) { $ this -> container -> save ( $ file [ 'name' ] . '.lock' , ( string ) time ( ) ) ; } return $ file ; }
Processes a single uploaded file
- sanitize the name
- validates the file
- if valid, moves the file to the container

@param  array $file
@return array
Processes a single uploaded file - sanitize the name - validates the file - if valid moves the file to the container