MongoGridFS::storeUpload PHP Méthode

storeUpload() public méthode

Saves an uploaded file directly from a POST to the database
public storeUpload ( string $name, array $metadata = [] ) : mixed
$name string The name attribute of the uploaded file, from .
$metadata array An array of extra fields for the uploaded file.
Résultat mixed Returns the _id of the uploaded file.
    public function storeUpload($name, array $metadata = [])
    {
        if (!isset($_FILES[$name]) || $_FILES[$name]['error'] !== UPLOAD_ERR_OK) {
            throw new MongoGridFSException("Could not find uploaded file {$name}");
        }
        if (!isset($_FILES[$name]['tmp_name'])) {
            throw new MongoGridFSException("Couldn't find tmp_name in the \$_FILES array. Are you sure the upload worked?");
        }
        $uploadedFile = $_FILES[$name];
        $uploadedFile['tmp_name'] = (array) $uploadedFile['tmp_name'];
        $uploadedFile['name'] = (array) $uploadedFile['name'];
        if (count($uploadedFile['tmp_name']) > 1) {
            foreach ($uploadedFile['tmp_name'] as $key => $file) {
                $metadata['filename'] = $uploadedFile['name'][$key];
                $this->storeFile($file, $metadata);
            }
            return null;
        } else {
            $metadata += ['filename' => array_pop($uploadedFile['name'])];
            return $this->storeFile(array_pop($uploadedFile['tmp_name']), $metadata);
        }
    }

Usage Example

 /**
  * storeUpload.
  */
 public function storeUpload($name, $filename)
 {
     $this->time->start();
     $return = parent::storeUpload($name, $filename);
     $time = $this->time->stop();
     $this->log(array('type' => 'storeUpload', 'name' => $name, 'filename' => $filename, 'time' => $time));
     return $return;
 }
All Usage Examples Of MongoGridFS::storeUpload