getExtension(); $mediaRoot = config('App')->mediaRoot; if (!file_exists($mediaRoot . '/' . $podcast_name)) { mkdir($mediaRoot . '/' . $podcast_name, 0777, true); touch($mediaRoot . '/' . $podcast_name . '/index.html'); } // move to media folder and overwrite file if already existing $file->move($mediaRoot . '/' . $podcast_name . '/', $file_name, true); return $podcast_name . '/' . $file_name; } function download_file($fileUrl) { $tmpFilename = time() . '_' . bin2hex(random_bytes(10)) . '.' . pathinfo($fileUrl, PATHINFO_EXTENSION); $tmpFilePath = WRITEPATH . 'uploads/' . $tmpFilename; file_put_contents($tmpFilePath, file_get_contents($fileUrl)); return new \CodeIgniter\Files\File($tmpFilePath); } /** * Prefixes the root media path to a given uri * * @param mixed $uri URI string or array of URI segments * @return string */ function media_path($uri = ''): string { // convert segment array to string if (is_array($uri)) { $uri = implode('/', $uri); } $uri = trim($uri, '/'); return config('App')->mediaRoot . '/' . $uri; } /** * Return the media base URL to use in views * * @param mixed $uri URI string or array of URI segments * @param string $protocol * @return string */ function media_url($uri = '', string $protocol = null): string { return base_url(config('App')->mediaRoot . '/' . $uri, $protocol); }