⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 thumbnail.php

📁 将本目录下的所有文件与目录传上您的服务器IIS虚拟目录下.并配置好ASP.NET的运行环境.更改好数据库连接地址即可.
💻 PHP
字号:
<?php 
/* * FCKeditor - The text editor for internet
 * Copyright (C) 2003-2005 Frederico Caldeira Knabben
 * 
 * Licensed under the terms of the GNU Lesser General Public License:
 * 		http://www.opensource.org/licenses/lgpl-license.php
 * 
 * For further information visit:
 * 		http://www.fckeditor.net/
 * 
 * File Name: Thumbnail.php
 * 	Implements the Thumbnail command, to return * 	a thumbnail to the browser for the sent file, * 	if the file is an image an attempt is made to * 	generate a thumbnail, otherwise an appropriate * 	icon is returned. * 	Output is image data
 * 
 * File Authors:
 * 		Grant French (grant@mcpuk.net) */include "helpers/iconlookup.php";class Thumbnail {	var $fckphp_config;	var $type;	var $cwd;	var $actual_cwd;	var $filename;		function Thumbnail($fckphp_config,$type,$cwd) {		$this->fckphp_config=$fckphp_config;		$this->type=$type;		$this->raw_cwd=$cwd;		$this->actual_cwd=str_replace("//","/",($fckphp_config['UserFilesPath']."/$type/".$this->raw_cwd));		$this->real_cwd=str_replace("//","/",($this->fckphp_config['basedir']."/".$this->actual_cwd));		$this->filename=str_replace(array("..","/"),"",$_GET['FileName']);	}		function run() {		//$mimeIcon=getMimeIcon($mime);		$fullfile=$this->real_cwd.'/'.$this->filename;		$thumbfile=$this->real_cwd.'/.thumb_'.$this->filename;		$icon=false;				if (file_exists($thumbfile)) {			$icon=$thumbfile;		} else {			$mime=$this->getMIME($fullfile);			$ext=strtolower($this->getExtension($this->filename));							if ($this->isImage($mime,$ext))				{								//Try and find a thumbnail, else try to generate one				//	else send generic picture icon.								if ($this->isJPEG($mime,$ext)) {					$result=$this->resizeFromJPEG($fullfile);									} elseif ($this->isGIF($mime,$ext)) {					$result=$this->resizeFromGIF($fullfile);									} elseif ($this->isPNG($mime,$ext)) {					$result=$this->resizeFromPNG($fullfile);				}								if ($result!==false) {					if (function_exists("imagejpeg")) {						imagejpeg($result,$thumbfile,70);						chmod($thumbfile,0777);						$icon=$thumbfile;					} elseif (function_exists("imagepng")) {						imagepng($result,$thumbfile);						chmod($thumbfile,0777);						$icon=$thumbfile;					} elseif (function_exists("imagegif")) {						imagegif($result,$thumbfile);						chmod($thumbfile,0777);						$icon=$thumbfile;					} else {						$icon=iconLookup($mime,$ext);					}									} else {					$icon=iconLookup($mime,$ext);				}			} else {				$icon=iconLookup($mime,$ext);			}		}						$iconMime=$this->image2MIME($icon);		if ($iconMime==false) $iconMime="image/jpeg";				header("Content-type: $iconMime",true);		readfile($icon);			}		function getMIME($file) {		$mime="text/plain";				//If mime magic is installed		if (function_exists("mime_content_type")) {			$mime=mime_content_type($file);		} else {			$mime=$this->image2MIME($file);		}				return strtolower($mime);	}		function image2MIME($file) {		$fh=fopen($file,"r");		if ($fh) {			$start4=fread($fh,4);			$start3=substr($start4,0,3);						if ($start4=="\x89PNG") {				return "image/png";			} elseif ($start3=="GIF") {				return "image/gif";			} elseif ($start3=="\xFF\xD8\xFF") {				return "image/jpeg";			} elseif ($start4=="hsi1") {				return "image/jpeg";			} else {				return false;			}						unset($start3);unset($start4);			fclose($fh);		} else {			return false;		}	}			function isImage($mime,$ext) {		if (			($mime=="image/gif")||			($mime=="image/jpeg")||			($mime=="image/jpg")||			($mime=="image/pjpeg")||			($mime=="image/png")||			($ext=="jpg")||			($ext=="jpeg")||			($ext=="png")||			($ext=="gif") ) {					return true;		} else {			return false;		}	}		function isJPEG($mime,$ext) {		if (($mime=="image/jpeg")||($mime=="image/jpg")||($mime=="image/pjpeg")||($ext=="jpg")||($ext=="jpeg")) {			return true; 		} else {			return false;		}	}	function isGIF($mime,$ext) {		if (($mime=="image/gif")||($ext=="gif")) {			return true; 		} else {			return false;		}	}		function isPNG($mime,$ext) {		if (($mime=="image/png")||($ext=="png")) {			return true; 		} else {			return false;		}	}			function getExtension($filename) {		//Get Extension		$ext=""; 		$lastpos=strrpos($this->filename,'.'); 		if ($lastpos!==false) $ext=substr($this->filename,($lastpos+1));		return strtolower($ext);	}		function resizeFromJPEG($file) {		if (function_exists("imagecreatefromjpeg")) {			$img=@imagecreatefromjpeg($this->real_cwd.'/'.$this->filename);			return (($img)?$this->resizeImage($img):false);		} else { return false; }	}		function resizeFromGIF($file) {		if (function_exists("imagecreatefromgif")) {			$img=@imagecreatefromgif($this->real_cwd.'/'.$this->filename);			return (($img)?$this->resizeImage($img):false);		} else { return false; }	}		function resizeFromPNG($file) {		if (function_exists("imagecreatefrompng")) {			$img=@imagecreatefrompng($this->real_cwd.'/'.$this->filename);			return (($img)?$this->resizeImage($img):false);		} else { return false; }	}		function resizeImage($img) {		//Get size for thumbnail		$width=imagesx($img); $height=imagesy($img);		if ($width>$height) { $n_height=$height*(96/$width); $n_width=96; } else { $n_width=$width*(96/$height); $n_height=96; }				$x=0;$y=0;		if ($n_width<96) $x=round((96-$n_width)/2);		if ($n_height<96) $y=round((96-$n_height)/2);				$thumb=imagecreatetruecolor(96,96);				#Background colour fix by:		#Ben Lancaster (benlanc@ster.me.uk)		$bgcolor = imagecolorallocate($thumb,255,255,255);		imagefill($thumb, 0, 0, $bgcolor);				if (function_exists("imagecopyresampled")) {			if (!($result=@imagecopyresampled($thumb,$img,$x,$y,0,0,$n_width,$n_height,$width,$height))) {				$result=imagecopyresized($thumb,$img,$x,$y,0,0,$n_width,$n_height,$width,$height);			}			} else {			$result=imagecopyresized($thumb,$img,$x,$y,0,0,$n_width,$n_height,$width,$height);		}		return ($result)?$thumb:false;	}}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -