HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.30
System: Linux iZj6c1151k3ad370bosnmsZ 3.10.0-1160.76.1.el7.x86_64 #1 SMP Wed Aug 10 16:21:17 UTC 2022 x86_64
User: root (0)
PHP: 7.4.30
Disabled: NONE
Upload Files
File: /var/www/html/www.winghung.com/wp-content/plugins/conversational-forms/cf2/Jobs/DeleteFileJob.php
<?php


namespace qcformbuilderwp\qcformbuilderforms\cf2\Jobs;


/**
 * Class DeleteFileJob
 *
 * Delete a file at a later time
 *
 * @since 1.8.0
 */
class DeleteFileJob extends Job
{

	/**
	 * Path file is stored in
	 *
	 * @since 1.8.0
	 *
	 * @var string
	 */
	protected $path;

	/**
	 * DeleteFileJob constructor.
	 *
	 * @since 1.8.0
	 *
	 * @param string $path Path file is stored in
	 */
	public function __construct($path)
	{
		$this->path = $path;
	}

	/** @inheritdoc */
	public function handle()
	{
		if ( file_exists($this->path) ) {
			unlink($this->path);
		}

		if( file_exists( $this->dirName() ) && $this->isEmptyDir() ){
			rmdir(dirname($this->path));
		}

	}

	/**
	 * Check if is empty directory
	 *
	 * @since 1.8.0
	 *
	 * @return bool
	 */
	protected function isEmptyDir()
	{
		foreach ( new \DirectoryIterator($this->dirName()) as $fileInfo ) {
			if ( $fileInfo->isDot() ) {
				continue;
			};
			return false;
		}
		return true;
	}

	/**
	 * Get name of directory file is in
	 *
	 * @since 1.8.0
	 *
	 * @return string
	 */
	protected function dirName()
	{
		return dirname($this->path);
	}
}