Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.
   1  <?php
   2  
   3  namespace Psr\Http\Message;
   4  
   5  interface UploadedFileFactoryInterface
   6  {
   7      /**
   8       * Create a new uploaded file.
   9       *
  10       * If a size is not provided it will be determined by checking the size of
  11       * the file.
  12       *
  13       * @see http://php.net/manual/features.file-upload.post-method.php
  14       * @see http://php.net/manual/features.file-upload.errors.php
  15       *
  16       * @param StreamInterface $stream Underlying stream representing the
  17       *     uploaded file content.
  18       * @param int $size in bytes
  19       * @param int $error PHP file upload error
  20       * @param string $clientFilename Filename as provided by the client, if any.
  21       * @param string $clientMediaType Media type as provided by the client, if any.
  22       *
  23       * @return UploadedFileInterface
  24       *
  25       * @throws \InvalidArgumentException If the file resource is not readable.
  26       */
  27      public function createUploadedFile(
  28          StreamInterface $stream,
  29          int $size = null,
  30          int $error = \UPLOAD_ERR_OK,
  31          string $clientFilename = null,
  32          string $clientMediaType = null
  33      ): UploadedFileInterface;
  34  }