Amazon_S3_And_CloudFront::encode_filename_in_path PHP Method

encode_filename_in_path() public method

Encode file names according to RFC 3986 when generating urls As per Amazon https://forums.aws.amazon.com/thread.jspa?threadID=55746#jive-message-244233
public encode_filename_in_path ( string $file ) : string
$file string
return string Encoded filename
    public function encode_filename_in_path($file)
    {
        $url = parse_url($file);
        if (!isset($url['path'])) {
            // Can't determine path, return original
            return $file;
        }
        $file_name = basename($url['path']);
        if (false !== strpos($file_name, '%')) {
            // File name already encoded, return original
            return $file;
        }
        $encoded_file_name = rawurlencode($file_name);
        if ($file_name === $encoded_file_name) {
            // File name doesn't need encoding, return original
            return $file;
        }
        return str_replace($file_name, $encoded_file_name, $file);
    }
Amazon_S3_And_CloudFront