www.gusucode.com > weenCompany闻名企业网站系统 4.0.0 繁体中英文 UTF8源码程序 > admin/tiny_mce/plugins/imagemanager/imagemanager.php
<?php define('MOD_ACCESS', true); define('IN_ADMIN', true); define('IN_WEENCOMPANY', true); $rootpath = "../../../../"; // ################################ INCLUDE CORE ############################### include($rootpath . 'includes/core.php'); SetPageCharacterSet(); // ######################### GET ACTION AND FOLDERPATH ######################### $action = isset($_POST['action']) ? $_POST['action'] : (isset($_GET['action']) ? $_GET['action'] : 'displayimages'); $folderpath = isset($_POST['folderpath']) ? $_POST['folderpath'] : (isset($_GET['folderpath']) ? $_GET['folderpath'] : '../../../../images/'); // ########################### DISPLAY FILE DETAILS ############################ function DisplayFileDetails($file, $rowcolor = '') { global $folderpath, $weenurl, $rootpath; // first create the full path to the file $filepath = $folderpath . $file; // array of valid image extensions $imageextensions = array('jpeg', '.gif', '.jpg', '.bmp', '.png'); // first lets determine what kind of file we are dealing with $extension = strtolower(substr($file, -4)); // either display an image or folder if(in_array($extension, $imageextensions)) { // define the max thumbnail width and height $maxwidth = 80; $maxheight = 80; // lets make sure we're dealing with a real image if($imagesize = @getimagesize($filepath)) { // get the image information list($width, $height, $type, $attr) = $imagesize; // lets scale the image so it fits nicely into our window $scale = min($maxwidth/$width, $maxheight/$height); $newwidth = ($scale < 1) ? floor($scale * $width) : $width; $newheight = ($scale < 1) ? floor($scale * $height) : $height; // now display the image echo '<table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="80" height="80" align="center" style="padding-right: 15px;"> <a href=\'javascript:void(0);\' onmousedown=\'InsertweenCompanyImage("' . $weenurl . substr($filepath, 12) . '");\'><img border="0" src="' . $filepath . '" width="' . $newwidth . '" height="' . $newheight . '" /></a> </td> <td valign="top"> <b>' . $file . '</b><br /><br /> 宽: ' . $width . ' 像素<br /> 高: ' . $height . ' 像素<br /><br /> <a href=\'javascript:void(0);\' onmousedown=\'InsertweenCompanyImage("' . $weenurl . substr($filepath, 12) . '");\'>插入此图片</a> </td> </tr> </table>'; } } else // the file is not an image { // display 'go back (..)'? if($file == '..') { // only let the user go back if we aren't in root if(substr($folderpath, -7) == 'images/') { echo '<table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="10" valign="top" style="padding-right: 15px;"> <img border="0" src="./images/folderforbidden' . iif($rowcolor == '#FFFFFF', '1' , '2') . '.gif" /> </td> <td valign="top"> <b>上层文件夹</b><br /><br /> 当前是图片根文件夹. </td> </tr> </table>'; } else { $tmp_folderpath = explode('/', substr($folderpath, 0, -1)); echo '<table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="10" valign="top" style="padding-right: 15px;"> <a href="./imagemanager.php?folderpath=' . str_replace(end($tmp_folderpath), '', substr($folderpath, 0, -1)) . '"><img border="0" src="./images/folderup' . iif($rowcolor == '#FFFFFF', '1' , '2') . '.gif" /></a> </td> <td valign="top"> <b>上层文件夹</b><br /><br /> <a href="./imagemanager.php?folderpath=' . str_replace(end($tmp_folderpath), '', substr($folderpath, 0, -1)) . '">返回上层文件夹</a> </td> </tr> </table>'; } } else if(is_dir($filepath)) { echo '<table width="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="10" valign="top" style="padding-right: 15px;"> <a href="./imagemanager.php?folderpath=' . $filepath . '/"><img border="0" src="./images/folder' . iif($rowcolor == '#FFFFFF', '1' , '2') . '.gif" /></a> </td> <td valign="top"> <b>' . $file . '</b><br /><br /> <a href="./imagemanager.php?folderpath=' . $filepath . '/">打开文件夹</a> </td> </tr> </table>'; } } } // ############################### UPLOAD IMAGE ################################ function UploadImage() { global $folderpath; $image = $_FILES['image']; $imagesdir = dirname(__FILE__) . '/' . $folderpath; $known_photo_types = array('image/pjpeg', 'image/jpeg', 'image/gif', 'image/bmp', 'image/x-png', 'image/png'); $valid_image_extensions = array('gif', 'jpg', 'peg', // jpeg 'bmp', 'png'); // check if image was uploaded if($image['size'] == 0) { $errors[] = '请选择要上传的文件!'; } else if(!in_array($image['type'], $known_photo_types)) { $errors[] = '无效的文件类型!'; } // lets make sure the extension is correct else if(!in_array(strtolower(substr($image['name'], -3)), $valid_image_extensions)) { $errors[] = '不允许的图片类型!'; } // final attempt to make sure it's a real image: else if(!getimagesize($image['tmp_name'])) { $errors[] = '无效的图片类型!'; } elseif (file_exists($imagesdir . $image['name'])) { $errors[] = '目标文件夹内已存在同名的文件!'; } else { // Store the orignal file if(!@copy($image['tmp_name'], $imagesdir . $image['name'])) { $errors[] = '图片文件夹 "' . substr($folderpath, 1) . '" 不可写!<br /> 注: 将文件夹 "' . substr($folderpath, 1) . '" 的属性改为: 777.'; } } if(isset($errors)) { PrintErrors($errors, '上传错误'); DisplayImages(); } else { DisplayImages($image['name']); } } // ############################### DISPLAY IMAGES ############################## function DisplayImages($newimage = '') { global $folderpath, $weenurl; PrintTableHeader('添加图片'); if($newimage) { echo '<table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td style="padding: 5px;"> <font style="color:blue"><b>上传图片成功!</b></font><br /><br />'; DisplayFileDetails($newimage); echo ' </td> </tr> </table>'; } echo '<table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td style="padding: 5px;"><b>上传一个新图片到当前文件夹:</b></td> </tr> <tr> <td style="padding: 5px;"> <form enctype="multipart/form-data" method="post" action="./imagemanager.php" name="upload_form"> <input type="hidden" name="action" value="uploadimage" /> <input type="hidden" name="folderpath" value="' . $folderpath . '" /> <input type="hidden" name="MAX_FILE_SIZE" value="1000000" /> <input name="image" type="file" /> <input type="submit" value=" 上传图片 " /> </form> </td> </tr> </table>'; $files = array(); $images = array(); $folders = array(); $handle = opendir($folderpath); // This is the correct way to loop over the directory while(false !== ($file = readdir($handle))) { $extension = strtolower(substr($file, -4)); if(($extension == '.gif') || ($extension == '.jpg') || ($extension == 'jpeg') || ($extension == '.png') || ($extension == '.bmp') ) { $images[] = $file; } else if($file != '.' AND is_dir($folderpath . $file)) { $folders[] = $file; } } // now sort both images and folders @sort($images); @sort($folders); // combine the two $files = @array_merge($folders, $images); $columncount = 0; $rowcolor = '#FFFFFF'; $currentpath = '<b>当前文件夹:</b> ' . $weenurl; echo '<br /><hr /><br /> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td style="padding: 5px;" colspan="3"> ' . $currentpath . substr($folderpath, 12) . '<br /><br /></td> </tr>'; for($i = 0; $i < count($files); $i++) { $columncount++; // start a new row? if($columncount == 1) { echo '<tr>'; } // open column switch($columncount) { case 1: echo '<td width="33%" align="center" valign="top" bgcolor="' . $rowcolor . '" style="padding: 5px;">'; break; case 2: echo '<td width="33%" align="center" valign="top" bgcolor="' . $rowcolor . '" style="padding: 5px;">'; break; case 3: echo '<td width="33%" align="center" valign="top" bgcolor="' . $rowcolor . '" style="padding: 5px;">'; break; } // display the file's details DisplayFileDetails($files[$i], $rowcolor); // close column echo '</td>'; // close the row? if($columncount == 3) { echo '</tr>'; // start over $columncount = 0; // change the row color $rowcolor = $rowcolor == '#FFFFFF' ? '#F1F3F5' : '#FFFFFF'; } } closedir($handle); // now close the table switch($columncount) { case '1': echo '<td colspan="2" bgcolor="' . $rowcolor . '" style="padding: 5px;"> </td></tr></table>'; break; case '2': echo '<td bgcolor="' . $rowcolor . '" style="padding: 5px;"> </td></tr></table>'; break; case '3': echo '</table>'; break; } PrintTableFooter(); } // ############################ PRINT TABLE HEADER ############################# function PrintTableHeader($tablename) { echo '<table width="100%" cellpadding="0" cellspaing="0" border="0" bgcolor="#FFFFFF"> <tr> <td align="center" style="padding: 1px; color: #FFFFFF; border: 1px solid #A5B5C5; background-image: url(../../../styles/advanced/images/menu_category_bg.gif);"><b>' . $tablename . '</b></td> </tr> <td bgcolor="#F1F3F5" style="padding: 1px; color: 819AAD; border: 1px solid #D1D3D4;">'; } // ############################ PRINT TABLE FOOTER ############################# function PrintTableFooter() { echo ' </td> </tr> </table> <br />'; } // ############################## DISPLAY HEADER ############################### echo '<html> <head> <script language="javascript" src="../../tiny_mce_popup.js"></script> <script language="javascript"> function InsertweenCompanyImage(imagepath) { var ed = tinyMCEPopup.editor, dom = ed.dom; tinyMCEPopup.execCommand(\'mceInsertContent\', false, dom.createHTML(\'img\', { src : imagepath, border : 0 })); tinyMCEPopup.close(); } </script> <style type="text/css"> a:link { font: 11px verdana; color: #0000EE; text-decoration: underline; } a:active { font: 11px verdana; color: #0000EE; text-decoration: underline; } a:visited { font: 11px verdana; color: #0000EE; text-decoration: underline; } a:hover { font: 11px verdana; color: #0000EE; text-decoration: underline; } body { background-color: #778AAF; color: #000000; font-family: verdana, arial; font-size: 11px; margin-top: 10px; margin-bottom: 10px; margin-left: 10px; margin-right: 10px; } td, font { font: 11px verdana, arial; color: #000000; } hr { height: 1px; border: 0px; color: #778AAF; background-color: #778AAF; width: 98%; } </style> <title>上传/插入 图片</title> </head> <body>'; // ############################## SELECT FUNCTION ############################## switch($action) { case 'uploadimage': UploadImage(); break; case 'displayimages': DisplayImages(); break; } // ############################## DISPLAY FOOTER ############################### echo '</body> </html>'; ?>