src/MediaMover.php
public function move(Media $media, $directory, $filename = null)
    {
        $storage = $this->filesystem->disk($media->disk);

        if ($filename) {
            $filename = $this->removeExtensionFromFilename($filename, $media->extension);
        } else {
            $filename = $media->filename;
        }

        $directory = trim($directory, '/');
        $target_path = $directory.'/'.$filename.'.'.$media->extension;

        if ($storage->has($target_path)) {
            throw MediaMoveException::destinationExists($target_path);
        }

        $storage->move($media->getDiskPath(), $target_path);

        $media->filename = $filename;
        $media->directory = $directory;
        $media->save();
    }
public function move(Media $media, $directory, $filename = null)
    {
        $storage = $this->filesystem->disk($media->disk);

        if ($filename) {
            $filename = $this->removeExtensionFromFilename($filename, $media->extension);
        } else {
            $filename = $media->filename;
        }

        $directory = trim($directory, '/');
        $target_path = $directory.'/'.$filename.'.'.$media->extension;

        if ($storage->has($target_path)) {
            throw MediaMoveException::destinationExists($target_path);
        }

        $storage->move($media->getDiskPath(), $target_path);

        $media->filename = $filename;
        $media->directory = $directory;
        $media->save();
    }
public function move ( Media $ media , $ directory , $ filename = null ) { $ storage = $ this -> filesystem -> disk ( $ media -> disk ) ; if ( $ filename ) { $ filename = $ this -> removeExtensionFromFilename ( $ filename , $ media -> extension ) ; } else { $ filename = $ media -> filename ; } $ directory = trim ( $ directory , '/' ) ; $ target_path = $ directory . '/' . $ filename . '.' . $ media -> extension ; if ( $ storage -> has ( $ target_path ) ) { throw MediaMoveException :: destinationExists ( $ target_path ) ; } $ storage -> move ( $ media -> getDiskPath ( ) , $ target_path ) ; $ media -> filename = $ filename ; $ media -> directory = $ directory ; $ media -> save ( ) ; }
Move the file to a new location on disk.

Will invoke the `save()` method on the model after the associated file has been moved to prevent synchronization errors
@param  \Plank\Mediable\Media $media
@param  string                $directory directory relative to disk root
@param  string                $filename  filename. Do not include extension
@return void
@throws \Plank\Mediable\Exceptions\MediaMoveException If attempting to change the file extension or a file with the same name already exists at the destination
Move the file to a new location on disk .