/**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     if ($this->option('filter')) {
         $this->filesystem->deleteDirectory(config('image-service.path') . '/' . $this->option('filter'));
         $this->info('Deleted all cached images for "' . $this->option('filter') . '" filter.');
     } elseif ($this->option('cached')) {
         foreach ($this->filesystem->directories(config('image-service.path')) as $dir) {
             // don't delete the original source image
             if (!preg_match("/original\$/mi", $dir)) {
                 $this->filesystem->deleteDirectory($dir);
             }
         }
         $this->info('Deleted all cached images.');
     } else {
         $this->filesystem->deleteDirectory(config('image-service.path'));
         $this->info('All images has been deleted.');
     }
 }
예제 #2
0
 /**
  * Delete a single directory from request.
  *
  * @param \Illuminate\Http\Request $request
  * @return \Illuminate\Http\JsonResponse
  */
 protected function deleteDirectory(Request $request)
 {
     try {
         $dir = $request->input('s');
         $this->storage->deleteDirectory($dir);
         return $this->notifySuccess($dir . ' successfully deleted!');
     } catch (\ErrorException $e) {
         return $this->notifyError($e->getMessage());
     }
 }
 /**
  * @param Filesystem $filesystem
  * @return CommandResult
  */
 public function handle(Filesystem $filesystem)
 {
     // check if user has permission
     if (!$this->disablePermissionChecking) {
         if (!$this->user->hasAnyPermission(['media.delete'])) {
             return new CommandResult(false, "Not enough permission.", null, 403);
         }
     }
     if (is_null($this->paths)) {
         return new CommandResult(false, "No file path given.", null, 400);
     }
     // begin delete
     if (is_array($this->paths)) {
         foreach ($this->paths as $dir) {
             $filesystem->deleteDirectory($dir);
         }
     } else {
         $filesystem->deleteDirectory($this->paths);
     }
     // all good
     return new CommandResult(true, "directories successfully deleted.", null, 200);
 }
예제 #4
0
 /**
  * @param \Illuminate\Http\Request $request
  *
  * @return void
  */
 private function combineChunks(Request $request)
 {
     # Prelim
     $fineUploaderUuid = $request->get('qquuid');
     $chunksFolder = $this->temporaryChunksFolder . DIRECTORY_SEPARATOR . $fineUploaderUuid;
     $totalNumberOfChunks = $request->has('qqtotalparts') ? intval($request->get('qqtotalparts')) : 1;
     # Do we have all chunks?
     $numberOfExistingChunks = count($this->filesystem->files($chunksFolder));
     if ($numberOfExistingChunks != $totalNumberOfChunks) {
         throw new FileStreamExceptions\UploadIncompleteException();
     }
     # We have all chunks, proceed with combine.
     $targetStream = fopen($this->getAbsolutePath($fineUploaderUuid), 'wb');
     for ($i = 0; $i < $totalNumberOfChunks; $i++) {
         $chunkStream = fopen($this->getAbsolutePath($chunksFolder . DIRECTORY_SEPARATOR . $i), 'rb');
         stream_copy_to_stream($chunkStream, $targetStream);
         fclose($chunkStream);
     }
     fclose($targetStream);
     $this->filesystem->deleteDirectory($chunksFolder);
 }
예제 #5
0
파일: Storage.php 프로젝트: bugotech/io
 /**
  * Recursively delete a directory.
  *
  * @param  string $directory
  *
  * @return bool
  */
 public function deleteDirectory($directory)
 {
     $directory = $this->getPathPrefix($directory);
     return $this->drive->deleteDirectory($directory);
 }
 /**
  * @param $dir
  * @return bool|mixed
  */
 public function deleteDirectory($dir)
 {
     return $this->storage->deleteDirectory($dir);
 }
예제 #7
0
 /**
  * Clear the storage.
  *
  * @return bool
  */
 public function clearCss()
 {
     return $this->files->deleteDirectory($this->storage, true);
 }
예제 #8
0
 /**
  * Remove all files for the given media.
  *
  * @param \Spatie\MediaLibrary\Media $media
  */
 public function removeFiles(Media $media)
 {
     $this->disk->deleteDirectory($this->getMediaDirectory($media));
 }