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

📄 editor_functions.php

📁 类似youtube的视频分享网站源码。有后台管理系统及模板
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?php
/* /////////////////////////////////////////////////////////////////////////
 *                          		editor_functions.php
 *                              -------------------
 *  author      : Chris Bolt
 *  copyright   : (C) Chris Bolt 2003-2004. All Rights Reserved
 *  version     : 2.2.4
 *	purpose			: Functions shared by WYSIWYGPRO PHP scripts
///////////////////////////////////////////////////////////////////////////*/

//////////////////////////
// Filesystem functions //
//////////////////////////

// functions for returning files and folders in a directory

// returns folders in a directory
function wp_get_folders_in_directory ($directory, $sortby='name', $sortdir='asc') {
	$folderlist = array();
	$bhandle = opendir($directory);
	$i = 0;
	while (false !== ($folder = readdir($bhandle))) {
		if (file_exists($directory.$folder) && (!is_file($directory.$folder)) && ($folder != ".") && ($folder != "..") && ($folder != "_vti_cnf") && (!strstr($folder, '.TEMP'))) {
			$folderlist[$i]['name'] = $folder;
			$i ++;
		}
	}
	closedir($bhandle);
	
	// do sorting...
	// (other types of sorting may be available in future versions if your wondering why the sortby variable is here.)
	if ($sortby != 'name') {
		$sortby='name';
	}
	if (strtolower($sortdir) == 'asc') {
		$sortdir = SORT_ASC;
	} else {
		$sortdir = SORT_DESC;
	}
	$folderlist = wp_array_csort($folderlist, $sortby, $sortdir);
	
	return $folderlist;
}

// returns files in a directory
function wp_get_files_in_directory ($directory, $sortby='name', $sortdir='asc', $file_types='' ) {
	$filelist = array();
	$handle = opendir($directory);
	$i=0;
	while (false !== ($file = readdir($handle))) {
		$extension = strrchr(strtolower($file), '.');
		if (is_file($directory.$file) && ($file != ".") && ($file != "..") && (!strstr($file, '.TEMP'))) {
			if (!empty($file_types)) {
				if (!wp_extension_ok($extension, $file_types)) {
					continue;
				}
			}
			$file_info = wp_get_fileinfo($extension);
			$filelist[$i]['name'] = $file;
			$filelist[$i]['icon'] = $file_info['icon'];
			$filelist[$i]['type'] = $file_info['description'];
			$filelist[$i]['preview'] = $file_info['preview'];
			$i ++;
		}
	}
	closedir($handle);
	// do sorting...
	if ($sortby != 'name' && $sortby != 'type') {
		$sortby='name';
	}
	if (strtolower($sortdir) == 'asc') {
		$sortflag = SORT_ASC;
	} else {
		$sortflag = SORT_DESC;
	}
	
	$filelist = wp_array_csort($filelist, $sortby, $sortflag);
	
	return($filelist);
}


// delete file and clear directory
// function for deleting files
// $file should be the file path to the document on the server eg: c://sites/mysite/myfile
// it is always safer to use the full file path to the file!!!!
// WARNING if $file is a directory this function will delete the directory and all contents including sub-directories!!!!!
// If $file is open in another program even Windows Explorer the delete routine might fail.
function wp_delete_file($file) {
	if ((file_exists ($file)) && (!is_file($file))) { 
		if (wp_clr_dir($file)) {
			return true;
		} else {
			return false;
		}
	} elseif ((file_exists ($file)) && (is_file($file))) {
		if (@unlink($file)) {
			return true;
		} else {
			return false;
		}
	}
}
// Enables deletion of directory if not empty
function wp_clr_dir($dir) {
	if(@ ! $opendir = opendir($dir)) {
		return false;
	}
	while(false !== ($readdir = readdir($opendir))) {
		if($readdir !== '..' && $readdir !== '.') {
			$readdir = trim($readdir);
			if(is_file($dir.'/'.$readdir)) {
				if(@ ! unlink($dir.'/'.$readdir)) {
					return false;
				}
			} elseif(is_dir($dir.'/'.$readdir)) {
				// Calls itself to clear subdirectories
				if(! wp_clr_dir($dir.'/'.$readdir)) {
					return false;
				}
			}
		}
	}
	closedir($opendir);
	if(@ ! rmdir($dir)) {
		return false;
	}
	return true;
}

// function create directory //
// function for creating a directory
// $dir should be the file path for the new directory, including its name! eg: c://sites/mysite/myNewDirectory
function wp_create_dir($dir) {
	if (!file_exists ($dir)) {
		if (defined('CHMOD_MODE')) {
			if (CHMOD_MODE) {
				$made = @mkdir ($dir, CHMOD_MODE);
			} else {
				$made = @mkdir ($dir);
			}
		} else {
			$made = @mkdir ($dir);
		}
		if ($made) {
			return true;
		} else {
			return false;
		}
	} else {
		return false;
	}
}

// moving and copying files
// This feature has not been implemented!
// function for moving or copying a file/directory.
function wp_copy($oldname, $newname) {
	if (is_file($oldname)){
		return copy($oldname, $newname);
	} else if (is_dir($oldname)){
		my_dir_copy($oldname, $newname);
	} else {
		die("Cannot copy file: $oldname (it's neither a file nor a directory)");
	} 
}
function wp_dir_copy($oldname, $newname) {
	if (!is_dir($newname)) {
		mkdir($newname);
		@chmod($newname);
	}
	$dir = opendir($oldname);
	while($file = readdir($dir)){
		if ($file == "." || $file == "..") {
			continue;
		}
		wp_copy("$oldname/$file", "$newname/$file");
	}
	closedir($dir);
}

// function my filesize
function wp_filesize($file) {
	// First check if the file exists.
	if (!is_file($file)) return '';
	// Setup some common file size measurements.
	$kb = 1024;         // Kilobyte
	$mb = 1024 * $kb;   // Megabyte
	$gb = 1024 * $mb;   // Gigabyte
	$tb = 1024 * $gb;   // Terabyte
	// Get the file size in bytes.
	$size = filesize($file);
	/* If it's less than a kb we just return the size, otherwise we keep going until
	the size is in the appropriate measurement range. */
	if ($size < $kb) {
		return $size." B";
	} else if ($size < $mb) {
		return round($size/$kb,2)." KB";
	} else if ($size < $gb) {
		return round($size/$mb,2)." MB";
	} else if ($size < $tb) {
		return round($size/$gb,2)." GB";
	} else {
		return round($size/$tb,2)." TB";
	}
}

function wp_convert_fsize($size) {
	// Setup some common file size measurements.
	$kb = 1024;         // Kilobyte
	$mb = 1024 * $kb;   // Megabyte
	$gb = 1024 * $mb;   // Gigabyte
	$tb = 1024 * $gb;   // Terabyte
	/* If it's less than a kb we just return the size, otherwise we keep going until
	the size is in the appropriate measurement range. */
	if ($size < $kb) {
		return $size." B";
	} else if ($size < $mb) {
		return round($size/$kb,2)." KB";
	} else if ($size < $gb) {
		return round($size/$mb,2)." MB";
	} else if ($size < $tb) {
		return round($size/$gb,2)." GB";
	} else {
		return round($size/$tb,2)." TB";
	}
}

// file_name_ok 
// returns true if file name is OK
function wp_file_name_ok($name = '') {
	$values = array('/','\\','?','&','%','#','~',':',' ','<','>','*','+','@','"',"'",'|',"\r","\n","\t");
	$num = sizeof($values);
	$match = false;
	for ($i=0; $i<$num; $i++) { 
		if (stristr($name,$values[$i])) {
			$match = true;
			break;
		}
	}
	if ($match) {
		return false;
	} else {
		return true;
	}
}

// returns true if dir name is OK
function wp_dir_name_ok($name = '') {
	$values = array('./','.\\','?','&','%','#','~','<','>','*','+','@','"',"'",'|',"\r","\n","\t");
	$num = sizeof($values);
	$match = false;
	for ($i=0; $i<$num; $i++) { 
		if (stristr($name,$values[$i])) {
			$match = true;
			break;
		}
	}
	if ($match) {
		return false;
	} else {
		return true;
	}
}

// extension_ok
function wp_extension_ok($extension, $accepted_types) {
	$accept_array = explode(',', str_replace(' ', '', strtolower($accepted_types)));
	if (in_array($extension, $accept_array)) {
		return true;
	} else {
		return false;
	}
}

// get_fileinfo
function wp_get_fileinfo($extension) {
	global $lang;
	// to add more filetypes save an icon image to the images folder and add a description to your language file, then describe how the function should handle the file below:
	switch($extension) {
		case '.html':
		$info['icon'] = 'htm_icon';
		$info['description'] = $lang['files']['html'];
		$info['preview'] = 1;
		break;
	case '.htm':
		$info['icon'] = 'htm_icon';
		$info['description'] = $lang['files']['html'];
		$info['preview'] = 1;
		break;
	case '.pdf':
		$info['icon'] = 'pdf_icon';
		$info['description'] = $lang['files']['pdf'];
		$info['preview'] = 0;
		break;

⌨️ 快捷键说明

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