本文整理汇总了PHP中Bitrix\Main\IO\Path::validate方法的典型用法代码示例。如果您正苦于以下问题:PHP Path::validate方法的具体用法?PHP Path::validate怎么用?PHP Path::validate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Bitrix\Main\IO\Path
的用法示例。
在下文中一共展示了Path::validate方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getRequestedPage
public function getRequestedPage()
{
if ($this->requestedFile != null) {
return $this->requestedFile;
}
$page = $this->getScriptName();
$page = IO\Path::normalize($page);
if (IO\Path::validate($page)) {
return $this->requestedFile = $page;
}
throw new SystemException("Script name is not valid");
}
示例2: convertToPath
public function convertToPath()
{
if ($this->uriType != UriType::RELATIVE) {
$path = $this->parse(UriPart::PATH);
} else {
$path = $this->uri;
$p = strpos($path, "?");
if ($p !== false) {
$path = substr($path, 0, $p);
}
}
if (substr($path, -1, 1) === "/") {
$path = self::addDirectoryIndex($path);
}
$path = IO\Path::normalize($path);
if (IO\Path::validate($path)) {
return $path;
}
throw new \Bitrix\Main\SystemException("Uri is not valid");
}
示例3: transferUri
private function transferUri($url)
{
$url = IO\Path::normalize($url);
$urlTmp = trim($url, " \t\n\r\v\\/");
if (empty($urlTmp)) {
throw new ArgumentNullException("url");
}
$ext = IO\Path::getExtension($url);
if (strtolower($ext) != "php") {
throw new SystemException("Only php files are allowable for url rewriting");
}
$arUrl = explode("/", $url);
$rootDirName = "";
while (!empty($arUrl) && ($rootDirName = array_shift($arUrl)) === "") {
}
$rootDirName = strtolower(str_replace(".", "", $rootDirName));
if (in_array($rootDirName, array("bitrix", "local", "upload"))) {
throw new SystemException(sprintf("Can not use path '%s' for url rewriting", $url));
}
if (!IO\Path::validate($url)) {
throw new SystemException(sprintf("Path '%s' is not valid", $url));
}
$absUrl = IO\Path::convertRelativeToAbsolute($url);
if (!IO\File::isFileExists($absUrl)) {
throw new SystemException(sprintf("Path '%s' is not found", $url));
}
$absUrlPhysical = IO\Path::convertLogicalToPhysical($absUrl);
global $APPLICATION, $USER, $DB;
include_once $absUrlPhysical;
die;
}
示例4: convertUriToPath
/**
* Converts request uri into path safe file with .html extention.
* Returns empty string if fails.
*
* @param string $Uri
* @return string
*/
public static function convertUriToPath($Uri, $host = "")
{
$match = array();
if (preg_match("#^(/.+?)\\.php\\?([^\\\\/]*)#", $Uri, $match) > 0) {
$PageFile = $match[1] . "@" . $match[2];
} elseif (preg_match("#^(/.+)\\.php\$#", $Uri, $match) > 0) {
$PageFile = $match[1] . "@";
} elseif (preg_match("#^(/.+?|)/\\?([^\\\\/]*)#", $Uri, $match) > 0) {
$PageFile = $match[1] . "/index@" . $match[2];
} elseif (preg_match("#^(/.+|)/\$#", $Uri, $match) > 0) {
$PageFile = $match[1] . "/index@";
} else {
return "";
}
if (strlen($host) > 0) {
$host = "/" . $host;
$host = preg_replace("/:(\\d+)\$/", "-\\1", $host);
}
$PageFile = $host . str_replace(".", "_", $PageFile) . ".html";
if (!Main\IO\Path::validate($PageFile)) {
return "";
}
if (Main\IO\Path::normalize($PageFile) !== $PageFile) {
return "";
}
return $PageFile;
}