本文整理汇总了PHP中NextendUri::getBaseuri方法的典型用法代码示例。如果您正苦于以下问题:PHP NextendUri::getBaseuri方法的具体用法?PHP NextendUri::getBaseuri怎么用?PHP NextendUri::getBaseuri使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NextendUri
的用法示例。
在下文中一共展示了NextendUri::getBaseuri方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: resizeImage
function resizeImage($imageurl, $width, $height, $mode = 'cover', $resizeremote = false)
{
$originalimageurl = $imageurl;
if ($width > 0 && $height > 0 && function_exists('exif_imagetype') && function_exists('imagecreatefrompng')) {
$extra = array();
if (substr($imageurl, 0, 2) == '//') {
$imageurl = parse_url(NextendUri::getBaseuri(), PHP_URL_SCHEME) . ':' . $imageurl;
}
$imageurl = NextendUri::relativetoabsolute($imageurl);
$imagepath = NextendFilesystem::absoluteURLToPath($imageurl);
if ($imagepath == $imageurl) {
if (!$resizeremote) {
return $originalimageurl;
}
$imagepath = parse_url($imageurl, PHP_URL_PATH);
} else {
$extra[] = @filemtime($imagepath);
$imageurl = $imagepath;
}
$extension = strtolower(pathinfo($imagepath, PATHINFO_EXTENSION));
$filetype = '';
if ($extension == 'png') {
$filetype = 'png';
} else {
if ($extension == 'jpg' || $extension == 'jpeg') {
$filetype = 'jpg';
}
}
if ($filetype != '') {
$hash = $this->createHashFromArray(array_merge(func_get_args(), $this->backgrouncolor, $extra));
$cachefile = $this->_folder . $hash . '.' . $filetype;
if (!NextendFilesystem::existsFile($cachefile)) {
$imagetype = @exif_imagetype($imageurl);
if ($imagetype) {
if ($imagetype == IMAGETYPE_PNG) {
$filetype = 'png';
} else {
if ($imagetype == IMAGETYPE_JPEG) {
$filetype = 'jpg';
} else {
$filetype = '';
}
}
if ($filetype) {
$img = null;
$rotated = null;
if ($filetype == 'png') {
$img = @imagecreatefrompng($imageurl);
} else {
if ($filetype == 'jpg') {
$img = @imagecreatefromjpeg($imageurl);
if (function_exists("exif_read_data")) {
$exif = exif_read_data($imageurl);
if ($exif && !empty($exif['Orientation'])) {
switch ($exif['Orientation']) {
case 3:
$rotated = imagerotate($img, 180, 0);
break;
case 6:
$rotated = imagerotate($img, -90, 0);
break;
case 8:
$rotated = imagerotate($img, 90, 0);
break;
}
}
if ($rotated) {
imagedestroy($img);
$img = $rotated;
}
}
}
}
if ($img) {
$owidth = imagesx($img);
$oheight = imagesy($img);
if ($rotated || $owidth != $width || $oheight != $height) {
$image = imagecreatetruecolor($width, $height);
if ($filetype == 'png') {
imagesavealpha($image, true);
imagealphablending($image, false);
$white = imagecolorallocatealpha($image, 255, 255, 255, 127);
imagefilledrectangle($image, 0, 0, $width, $height, $white);
} else {
if ($filetype == 'jpg') {
$bg = imagecolorallocate($image, $this->backgrouncolor[0], $this->backgrouncolor[1], $this->backgrouncolor[2]);
imagefilledrectangle($image, 0, 0, $width, $height, $bg);
}
}
$dst_x = 0;
$dst_y = 0;
$src_x = 0;
$src_y = 0;
$dst_w = $width;
$dst_h = $height;
$src_w = $owidth;
$src_h = $oheight;
$horizontalRatio = $width / $owidth;
$verticalRatio = $height / $oheight;
if ($mode == 'cover') {
//.........这里部分代码省略.........