1<?php 2 3namespace Box\Spout\Common\Helper; 4 5/** 6 * Class FileSystemHelperInterface 7 * This interface describes helper functions to help with the file system operations 8 * like files/folders creation & deletion 9 */ 10interface FileSystemHelperInterface 11{ 12 /** 13 * Creates an empty folder with the given name under the given parent folder. 14 * 15 * @param string $parentFolderPath The parent folder path under which the folder is going to be created 16 * @param string $folderName The name of the folder to create 17 * @throws \Box\Spout\Common\Exception\IOException If unable to create the folder or if the folder path is not inside of the base folder 18 * @return string Path of the created folder 19 */ 20 public function createFolder($parentFolderPath, $folderName); 21 22 /** 23 * Creates a file with the given name and content in the given folder. 24 * The parent folder must exist. 25 * 26 * @param string $parentFolderPath The parent folder path where the file is going to be created 27 * @param string $fileName The name of the file to create 28 * @param string $fileContents The contents of the file to create 29 * @throws \Box\Spout\Common\Exception\IOException If unable to create the file or if the file path is not inside of the base folder 30 * @return string Path of the created file 31 */ 32 public function createFileWithContents($parentFolderPath, $fileName, $fileContents); 33 34 /** 35 * Delete the file at the given path 36 * 37 * @param string $filePath Path of the file to delete 38 * @throws \Box\Spout\Common\Exception\IOException If the file path is not inside of the base folder 39 * @return void 40 */ 41 public function deleteFile($filePath); 42 43 /** 44 * Delete the folder at the given path as well as all its contents 45 * 46 * @param string $folderPath Path of the folder to delete 47 * @throws \Box\Spout\Common\Exception\IOException If the folder path is not inside of the base folder 48 * @return void 49 */ 50 public function deleteFolderRecursively($folderPath); 51} 52