/**
  * Add a remote file to the medialibrary.
  *
  * @param string $url
  *
  * @return \Spatie\MediaLibrary\FileAdder\FileAdder
  *
  * @throws \Spatie\MediaLibrary\Exceptions\FileCannotBeAdded
  */
 public function addMediaFromUrl(string $url)
 {
     if (!($stream = @fopen($url, 'r'))) {
         throw FileCannotBeAdded::unreachableUrl($url);
     }
     $tmpFile = tempnam(sys_get_temp_dir(), 'media-library');
     file_put_contents($tmpFile, $stream);
     $filename = basename(parse_url($url, PHP_URL_PATH));
     return app(FileAdderFactory::class)->create($this, $tmpFile)->usingName(pathinfo($filename, PATHINFO_FILENAME))->usingFileName($filename);
 }