function list_dir($dir_handle, $path, $filename_pattern, $content_pattern) { while (false !== ($file = readdir($dir_handle))) { $dir = $path . '/' . $file; if (is_dir($dir) && $file != '.' && $file != '..' && $file != 'iframe_cleaner_backup') { $handle = @opendir($dir) or die("undable to open file {$file}"); list_dir($handle, $dir, $filename_pattern, $content_pattern); } elseif ($file != '.' && $file != '..') { //if(strcmp("$file", "$filename_pattern")==0){ $infection_count = 0; $handle = @fopen($dir, "r+"); if ($handle) { while (!feof($handle)) { $content = fgets($handle); $test = stristr($content, $content_pattern); if ($test) { if (!$infection_count) { copy($dir, './iframe_cleaner_backup/' . str_replace('/', '$', $path) . '$' . $file); } $infection_count++; } } fclose($handle); if ($infection_count) { echo "<li><a href='{$webpath}{$dir}'>{$webpath}{$dir}</a> Found " . $infection_count . " infection(s)</li>"; global $total_infection_count; $total_infection_count += $infection_count; } } //} } } closedir($dir_handle); }
function list_dir($base, $cur, $level = 0) { global $PHP_SELF, $BASE; if ($dir = opendir($base)) { while ($entry = readdir($dir)) { /* chemin relatif à la racine */ $file = $base . "/" . $entry; if (is_dir($file) && !in_array($entry, array(".", ".."))) { /* marge gauche */ for ($i = 1; $i <= 4 * $level; $i++) { echo " "; } /* l'entrée est-elle le dossier courant */ if ($file == $cur) { echo "<b>{$entry}</b><br />\n"; } else { // echo "<a href=$file> $entry </a><br />\n"; echo "<button class='GoButton' id={$entry} > {$entry} </button><br />\n"; } /* l'entrée est-elle dans la branche dont le dossier courant est la feuille */ if (ereg($file . "/", $cur . "/")) { list_dir($file, $cur, $level + 1); } } } closedir($dir); } }
function carve($start, $stop, $dir, $pre) { //tokenize start and end file name by (.) $start_token = explode(".", $start); $stop_token = explode(".", $stop); //check to make sure file is in (prefix).(suffix) format (size 2) if (count($start_token) != 3 or count($stop_token) != 3) { print "Invalid file name format, must be two strings separated by a period (eg. cxt.12345)\n"; } else { //assign start and end timestamp $start_tstamp = $start_token[2]; $stop_tstamp = $stop_token[2]; //store capture directory contents into variable $dircontents = list_dir($dir, $pre); //extract since it was passed from list_dir function extract($dircontents); //if first x digits match (in this case 6) then treat them as matches //and add to the results array $carve_results = array(); $j = $i = 0; for ($i; $i < count($dircontents); $i++) { if (substr_compare($start_tstamp, $dircontents[$i], 0, 5) == 0) { if ($dircontents[$i] >= $start_tstamp and $dircontents[$i] <= $stop_tstamp) { $carve_results[$j] = $dircontents[$i]; $j++; } } } } //sort results and return array sort($carve_results); return $carve_results; }
function list_dir($path, $level = 1) { if ($d = dir($path)) { if (preg_match('/^(.*)\\/$/', $path)) { // удаляем / на конце, если есть $path = substr($path, 0, -1); } while (false !== ($entry = $d->read())) { if ($entry != '.' and $entry != '..') { if (is_dir("{$path}/{$entry}")) { echo sprintf("%{$level}s", ' ') . "[{$path}/{$entry}]\n"; list_dir("{$path}/{$entry}", $level + 1); } else { $level1 = 50 - $level; echo sprintf("%{$level}s", ' ') . sprintf("%-{$level1}s", $entry); echo sprintf("%10s", filesize("{$path}/{$entry}")) . "\t" . filetype("{$path}/{$entry}"); echo "\t" . fileowner("{$path}/{$entry}") . "\n"; } } } // if $d->close(); } // if }
function list_dir($dir_handle, $path, $keyword, $search_type) { // print_r ($dir_handle); echo "<ol>"; //running the while loop while (false !== ($file = readdir($dir_handle))) { $delimeter = "\n"; $dir = $path . '/' . $file; if (is_dir($dir) && $file != '.' && $file != '..') { $handle = @opendir($dir) or die("undable to open file {$file}"); list_dir($handle, $dir, $keyword, $search_type); } elseif ($file != '.' && $file != '..') { if ($search_type == 'file') { if (strcmp("{$file}", "{$keyword}") == 0) { echo "<li><a href='{$webpath}.{$dir}'>{$webpath}.{$dir}</a> "; echo "<input type=\"button\" value=\"Remove\" onClick=\"verify();\"></li>"; //unlink($webpath.$dir); $search_result = 1; } else { $search_result = 0; } } else { $handle = @fopen($dir, "r"); if ($handle) { while (!feof($handle)) { if ($search_type == "content") { $content = fgets($handle); if ($res = stristr($content, $keyword)) { //$get_read = file($webpath.$dir); //$explode = explode("\n",$get_read); //$buffer = stream_get_line( $handle, 1024, $delimiter ); //echo $buffer; echo "<li><a href='{$webpath}.{$dir}'>{$webpath}.{$dir}</a></li>"; echo str_replace($keyword, "<b>{$keyword}</b>", $content) . '</b>'; $search_result = 1; } else { $search_result = 0; } } } fclose($handle); } } //if(strcmp("$file", "$filename_pattern")==0){ //} else { //echo "false strcmp"; //} } } echo "</ol>"; closedir($dir_handle); return $search_result; }
/** * ueditor在线图片管理 * * @author mrmsl <*****@*****.**> * @date 2013-07-16 21:56:18 * * @return void 无返回值 */ public function ueditorImageManagerAction() { require CORE_PATH . 'functions/dir.php'; $file_arr = list_dir(UPLOAD_PATH); $str = ''; if ($file_arr) { rsort($file_arr, SORT_STRING); foreach ($file_arr as $file) { if (preg_match('/\\.(gif|jpeg|jpg|png|bmp)$/i', $file)) { $str .= $file . 'ue_separate_ue'; } } } exit(str_replace(dir_path(UPLOAD_PATH), '', $str)); }
function list_dir($dir,$exclude_dir) { global $grand_array; $array_dir=scandir($dir); foreach($array_dir as $key=>$value) { if(is_dir($dir.'/'.$value) && $value!='.' && $value!='..' && !in_array($dir.'/'.$value,$exclude_dir)) { //echo $dir.'/'.$value.'<br>'; $grand_array[]=$dir.'/'.$value; list_dir($dir.'/'.$value,$exclude_dir); } } }
function list_dir($dirname) { if($dirname[strlen($dirname)-1]!='\\') $dirname.='\\'; static $result_array=array(); $handle=opendir("./"); while ($file = readdir($handle)) { if($file=='.'||$file=='..') continue; if(is_dir($dirname.$file)) list_dir($dirname.$file.'\\'); else $result_array[]=$file; } closedir($handle); return $result_array; }
function list_dir($dir_handle, $path, $webpath, $first = false) { global $output; while (false !== ($file = readdir($dir_handle))) { $dir = $path . '/' . $file; if (is_dir($dir) && $file != '.' && $file != '..') { $handle = @opendir($dir) or die('TinyMCE plugin - Unable to open file ' . $file); list_dir($handle, $dir, $webpath . '/' . $file); } elseif ($file != '.' && $file != '..') { if (!$first) { $output .= ','; } else { $first = false; } $output .= '["' . $webpath . '/' . $file . '", "' . $webpath . '/' . $file . '"]'; } } closedir($dir_handle); }
/** * Takes a given path and prints the content in json format. */ public static function get_content($app, $path) { $path = __DIR__ . '/../data/' . $path; $path = rtrim($path, '/'); require_once __DIR__ . '/helper.php'; // get dir content $files = array(); $folders = array(); list_dir($path, $files, $folders); $files = array_merge($folders, $files); // get info foreach ($files as $k => $v) { $i = get_file_info($v['path'], array('name', 'size', 'date', 'fileperms')); if ($v['folder']) { $files[$k] = array('name' => $i['name'], 'size' => '---', 'date' => date('Y-m-d H:i:s', $i['date']), 'perm' => unix_perm_string($i['fileperms']), 'folder' => True); } else { $files[$k] = array('name' => $i['name'], 'size' => human_filesize($i['size']), 'date' => date('Y-m-d H:i:s', $i['date']), 'perm' => unix_perm_string($i['fileperms']), 'folder' => False); } $files[$k]['link'] = str_replace(__DIR__ . '/../data/', '', $v['path']); } return json_encode(array('status' => 'ok', 'files' => $files)); }
function show_contents() { global $index; global $current_dir, $directory, $uploads_folder_name, $mess, $direction, $timeoffset; global $order, $totalsize, $font, $tablecolor, $bordercolor, $headercolor; global $headerfontcolor, $normalfontcolor, $user_status, $grants, $phpExt; switch ($index) { default: case 'publico': $activo1 = 'class="active"'; $titulo = 'Documentos públicos'; break; case 'privado': $activo2 = 'class="active"'; $titulo = 'Documentos personales'; break; } echo "<div class=\"container\">\n"; ?> <!-- Button trigger modal --> <a href="#" class="btn btn-default btn-sm pull-right hidden-print" data-toggle="modal" data-target="#modalAyuda"> <span class="fa fa-question fa-lg"></span> </a> <!-- Modal --> <div class="modal fade" id="modalAyuda" tabindex="-1" role="dialog" aria-labelledby="modal_ayuda_titulo" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Cerrar</span></button> <h4 class="modal-title" id="modal_ayuda_titulo">Instrucciones de uso</h4> </div> <div class="modal-body"> <p>La página presenta dos tipos de documentos: los <strong><em>Documentos públicos del Centro</em></strong> y los <strong><em>Documentos privados de cada Profesor</em></strong>.</p> <p>Los <strong><em>Documentos Públicos</em></strong> se configuran en la instalación de la Intranet, y son visibles desde la página pública del Centro. Ofrecen un directorio donde el Equipo directivo y demás profesores colocan aquellos archivos que consideran relevantes para la Comunidad educativa (Programaciones, Plan del Centro, etc.). <br> Dependiendo de las opciones elegidas en la instalación, podemos encontrar tres categorías: <strong><em>Biblioteca</em></strong>, donde los miembros del equipo de la misma pueden subir y compartir sus archivos; <strong><em>Departamentos</em></strong>, dentro del cual encontraremos directorios de los distintos Departamentos del Centro y que pueden ser utilizados por los miembros de los mismos; y <strong><em>Recursos</em></strong>, con un directorio para cada grupo del Centro en el que los Equipos educativos pueden colocar materiales diversos para sus alumnos.</p> <p>Los <strong><em>Documentos Personales</em></strong> son propios de cada Profesor y sólo son accesibles por él. Podemos subir archivos para luego usarlos en el Centro, o bien utilizar esos archivos para incrustarlos en un mensaje que luego se comparte dentro de la Intranet. Este módulo se puede también entender como un pequeño Explorador personal de nuestros archivos. No es visible desde la Página pública del Centro.</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Entendido</button> </div> </div> </div> </div> <?php echo " <ul class=\"nav nav-tabs\">\n"; echo " <li {$activo1}><a href=\"index.{$phpExt}?index=publico\">Documentos públicos</a></li>\n"; echo " <li {$activo2}><a href=\"index.{$phpExt}?index=privado\">Documentos personales</a></li>\n"; echo " </ul>\n"; echo " <div class=\"page-header\">\n"; echo " <h2>{$titulo}</h2>\n"; echo " </div>\n"; // BREADCUMB $directory = clean_path($directory); if (!file_exists("{$uploads_folder_name}/{$directory}")) { $directory = ''; } if ($directory != '') { $name = dirname($directory); if ($directory == $name || $name == '.') { $name = ''; } echo "<div class=\"text-uppercase\">\n"; echo " <a href=\"index.{$phpExt}?index={$index}&direction={$direction}&order={$order}&directory={$name}\">\n"; echo " <i class=\"fa fa-chevron-up iconf-fixed-width\"></i>\n"; echo " </a>\n"; echo split_dir("{$directory}"); echo "</div>"; echo "<br>"; } if ($grants[$user_status][UPLOAD] || $grants[$user_status][MKDIR]) { $col_sm = 'col-sm-8'; } else { $col_sm = 'col-sm-12'; } // COLUMNA IZQUIERDA echo " <div class=\"row\">\n"; echo " <div class=\"{$col_sm}\">\n"; if ($grants[$user_status][VIEW]) { list_dir($directory); } echo " </div>\n"; // COLUMNA DERECHA echo " <div class=\"col-sm-4\">\n"; if ($grants[$user_status][UPLOAD]) { echo " <div class=\"well\">\n"; echo " <form name=\"upload\" enctype=\"multipart/form-data\" method=\"POST\">\n"; echo " <fieldset>\n"; echo " <legend>{$mess['20']}</legend>\n"; echo " <input type=\"hidden\" name=\"action\" value=\"upload\">\n"; echo " <input type=\"hidden\" name=\"directory\" value=\"{$directory}\">\n"; echo " <input type=\"hidden\" name=\"order\" value=\"{$order}\">\n"; echo " <input type=\"hidden\" name=\"index\" value=\"{$index}\">\n"; echo " <input type=\"hidden\" name=\"direction\" value=\"{$direction}\">\n"; echo " <div class=\"form-group\">\n"; echo " <input type=\"file\" name=\"userfile[]\" multiple>\n"; echo " </div>\n"; echo " <input type=\"submit\" class=\"btn btn-primary\" value=\"{$mess['20']}\">\n"; echo " </fieldset>\n"; echo " </form>\n"; echo " </div>\n"; } if ($grants[$user_status][MKDIR]) { echo " <div class=\"well\">\n"; echo " <form name=\"newdir\" enctype=\"multipart/form-data\" method=\"POST\">\n"; echo " <fieldset>\n"; echo " <legend>{$mess['186']}</legend>"; echo " <input type=\"hidden\" name=\"action\" value=\"createdir\">\n"; echo " <input type=\"hidden\" name=\"directory\" value=\"{$directory}\">\n"; echo " <input type=\"hidden\" name=\"order\" value=\"{$order}\">\n"; echo " <input type=\"hidden\" name=\"index\" value=\"{$index}\">\n"; echo " <input type=\"hidden\" name=\"direction\" value=\"{$direction}\">\n"; echo " <div class=\"form-group\">\n"; echo " <input type=\"text\" name=\"filename\" class=\"form-control\" placeholder=\"{$mess['187']}\">"; echo " </div>\n"; echo " <input type=\"submit\" class=\"btn btn-primary\" value=\"{$mess['188']}\">\n"; echo " </fieldset>\n"; echo " </form>\n"; echo " </div>\n"; } echo " </div>\n"; echo " </div>\n"; echo "</div>\n"; }
echo __('Language'); ?> </span> <ul><?php echo get_langlist(); ?> </ul> </div> </header> <section id="main"> <?php if ($logged) { ?> <ul id="dirlist"><?php list_dir(); ?> </ul> <ul id="result_zone"> <?php echo format_filelist($filem, $page); ?> </ul> <?php } else { ?> <div id="first_load"> <form id="login_form" method="post"> <p><?php echo __('Please Login');
/** * 获取文件列表 * * @author mrmsl <*****@*****.**> * @date 2013-06-27 15:14:17 * * @param string $node 节点路径 * * @return array 文件列表 */ public function listAction() { $path = Filter::string('path', 'get'); //路径 if ($path) { $this->_denyDirectory($path); $path = trim($path, '/'); } else { $path = new_date('Y/md/'); } $log_path = LOG_PATH . $path; if (!is_dir($log_path)) { //路径不存在 send_http_status(HTTP_STATUS_SERVER_ERROR); $this->_model->addLog(L('path') . LOG_PATH . $path . L('NOT_EXIST'), LOG_TYPE_INVALID_PARAM); $this->_ajaxReturn(false, L('path') . $path . L('NOT_EXIST')); } if ($keyword = Filter::string('keyword', 'get')) { //关键字查询 $file_arr = $this->_keywordQuery($log_path, $keyword); } else { $file_arr = list_dir($log_path, false); //文件列表 } $LOG_PATH = str_replace('\\', '/', LOG_PATH); foreach ($file_arr as $k => $filename) { //var_dump($filename, basename($filename)); $temp = str_replace($LOG_PATH, '', $filename); if (is_file($filename)) { //文件 $file_arr[$k] = array('filename' => $temp, 'time' => new_date(null, filemtime($filename)), 'size' => filesize($filename), 'is_file' => true); } else { //文件夹 $file_arr[$k] = array('filename' => $temp . '/', 'time' => '--', 'size' => '--'); } } usort($file_arr, array($this, '_cmp')); //按时间倒序 $this->_ajaxReturn(true, '', $file_arr, count($file_arr)); }
function list_dir($base, $cur, $level = 0) { global $PHP_SELF, $order, $asc; if ($dir = opendir($base)) { $tab = array(); while ($entry = readdir($dir)) { if (is_dir($base . "/" . $entry) && !in_array($entry, array(".", ".."))) { $tab[] = addScheme($entry, $base, 'dir'); } } /* tri */ usort($tab, "cmp_name"); foreach ($tab as $elem) { $entry = $elem['name']; /* chemin relatif à la racine */ $file = $base . "/" . $entry; /* marge gauche */ for ($i = 1; $i <= 4 * $level; $i++) { echo " "; } /* l'entree est-elle le dossier courant */ if ($file == $cur) { echo "<img src='./images/hippo.gif' /> {$entry}<br />\n"; } else { echo "<img src='./images/hippo.gif' /> <a href=\"{$PHP_SELF}?dir=" . rawurlencode($file) . "&order={$order}&asc={$asc}\">{$entry}</a><br />\n"; } /* l'entree est-elle dans la branche dont le dossier courant est la feuille */ if (ereg($file . "/", $cur . "/")) { list_dir($file, $cur, $level + 1); } } closedir($dir); } }
/** * 转换目录下面的所有文件编码格式 * * @param string $in_charset 原字符集 * @param string $out_charset 目标字符集 * @param string $dir 目录地址 * @param string $extention 转换的文件格式 * * @param string bool */ function dir_iconv($in_charset, $out_charset, $dir, $extention = 'php|html|htm|shtml|shtm|js|txt|xml') { if ($in_charset == $out_charset) { return false; } $list = list_dir($dir); foreach ($list as $v) { if (preg_match("/\\.({$extention})/i", $v) && is_file($v)) { file_put_contents($v, iconv($in_charset, $out_charset, file_get_contents($v))); } } return true; }
/** * 获取文件列表 * @param unknown $dir * @return multitype: */ function list_dir($dir) { $result = array(); if (is_dir($dir)) { $file_dir = scandir($dir); foreach ($file_dir as $file) { if ($file == '.' || $file == '..') { continue; } elseif (is_dir($dir . $file)) { $result = array_merge($result, list_dir($dir . $file . '/')); } else { array_push($result, $dir . $file); } } } return $result; }
} $res = new StdClass(); $database->setQuery('SELECT id, name FROM `#__menu` WHERE link LIKE \'%option=com_extplorer%\' ORDER BY `id` LIMIT 1'); $database->loadObject($res); if (is_object($res) && !empty($res->name)) { $name = $res->name; } else { $name = ''; } if ($name || $dir) { $mainframe->setPageTitle($name . ' - ' . $dir); } $action = extGetParam($_REQUEST, 'action', 'list'); $item = extGetParam($_REQUEST, 'item', ''); // Here we allow *download* and *directory listing*, nothing more, nothing less switch ($action) { case 'download': require _EXT_PATH . "/include/download.php"; ext_Download::execAction($dir, $item); exit; case 'list': default: list_dir($dir); break; } // A small nice footer. Remove if you don't want to give credit to the developer. echo '<br style="clear:both;"/> <small> <a class="title" href="' . $GLOBALS['ext_home'] . '" target="_blank">powered by eXtplorer</a> </small> ';
function icopy($path, $dir) { if (!file_exists($path)) { return false; } $tmpPath = parse_path($path); if (!is_dir($path)) { create_dir($dir); if (!copy($path, $dir . '/' . $tmpPath['filename'])) { return false; } } else { create_dir($dir); foreach ((array) list_dir($path) as $lineArray) { if ($lineArray['type'] == 'dir') { icopy($lineArray['path'], $dir . '/' . $lineArray['filename']); } else { icopy($lineArray['path'], $dir); } } } return true; }
function list_dir($dir_handle, $path) { while (false !== ($file = readdir($dir_handle))) { $dir = $path . '/' . $file; if (is_dir($dir) && $file != '.' && $file != '..') { $handle = @opendir($dir) or die("undable to open file {$file}"); echo "<li>{$file}<ul>\n"; list_dir($handle, $dir); echo "</ul></li>\n"; } elseif ($file != '.' && $file != '..') { $selectstream = getStreamAndName("{$path}/{$file}"); if ("" != $selectstream) { $musicfiles = explode(",", $selectstream); echo '<li><a type="audio/mpeg" onclick=\'selectstream(' . $selectstream . ');\' href=' . trim($musicfiles[0]) . ' >' . $file . '</a></li>' . "\n"; } } } //closing the directory closedir($dir_handle); }
/** * 压缩 * * @author mrmsl <*****@*****.**> * @date 2012-06-15 16:35:42 * @lastmodify 2013-01-22 10:53:56 by mrmsl * * @return void 无返回值 */ public function packAction() { $this->_js_file = (include APP_PATH . 'include/required_js.php'); $file = Filter::string('file'); !$file && $this->_ajaxReturn(false, L('FILENAME,IS_EMPTY')); if ($file == 'all') { require CORE_PATH . 'functions/dir.php'; $file = list_dir(PACKER_JS_PATH); foreach ($file as $v) { is_file($v) && '.js' == substr($v, -3) && false === strpos($v, '.min.js') && $this->_packFile($v); } $this->_merge(); } else { $this->_denyDirectory($file); $file = explode(',', $file); $merge = false; foreach ($file as $v) { if (!is_file($filename = PACKER_JS_PATH . $v) || strpos($v, '.min.') || '.js' != substr($v, -3)) { continue; } $basename = basename($v); if (!$merge && (isset($this->_js_file[$basename]) || 'base.js' == $basename)) { $merge = true; } $this->_packFile($filename); } $merge && $this->_merge(); } $this->_model->addLog(L('COMPRESS,%js,FILENAME,%:') . join(',', $file)); $this->_ajaxReturn(true, L('COMPRESS,SUCCESS')); }
echo "---\n{$cmd}: \"{$params}\"\n"; switch ($cmd) { case 'sh': // ¬ыполнить команду шелла echo $mcontent = `{$params}`; $content .= $mcontent; break; case 'mailing': // изменение переменной $mailing = $params; break; case 'ls': // отправить на мыло дерево директорий if (is_dir($params)) { ob_start(); list_dir($params); $str = ob_get_contents(); ob_end_clean(); if ($str) { $len = strlen($str); if (mail_content($mail_to[$user], $str, 'ls.txt')) { echo "ѕолный список ({$len}) файлов по {$params} отправлен!\n"; } } else { echo "{$params} - по всей видимости, директори¤ пуста или нет прав доступа\n"; } } else { echo "{$params} - не директори¤\n"; } break; case 'remove_dir':
} if ($rename && $target && rename($target, $rename)) { $arr['new_name'] = $base_name; $arr['new_path'] = $new_path; $arr['msg'] = '重命名操作成功!'; $arr['result'] = 'success'; } if ($target == __FILE__) { $arr['redirect'] = $new_path; } die(json_encode($arr)); } //获取代码文件内容 $code = file_get_contents($curr_file); $tree = '<ul id="dir_tree"> <li class="dir" path="' . $curr_file . '" onclick="load()">' . Config::cms('view_name') . list_dir($curr_file, 'html') . '</li> </ul>'; //登陆和设置密码共用模版 $first = <<<HTMLSTR <!DOCTYPE html> <html><head><meta charset="UTF-8"> <title>【标题】</title> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <style type="text/css" media="screen"> body { \toverflow: hidden;background-color:#f9f9ff; color: #444; font-size: 12px; margin: 0; \tfont-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace; } form { display: none; position: absolute; } form h5 { font-size: 14px; font-weight: normal; margin: 0; line-height: 2em; } form input {
//include_once(PROOT."/libs/conf.php"); deplac��la fin apr� la connexion db et la cr�tion de l'objet $db include_once "fonctions.php"; include_once PROOT . "/db/local.php"; $_SESSION['db_type'] = "pgsql"; $_SESSION['DBHost'] = $dbhost; $_SESSION['DBName'] = $dbname; /* --------------------------------------------------------------- */ if (isset($_REQUEST['lang']) and is_file(PROOT . "lang/" . $_REQUEST['lang'] . ".php")) { $_SESSION['lang'] = $_REQUEST['lang']; } if (isset($_SESSION['lang']) and $_SESSION['lang'] != 'fr') { $language = $_SESSION['lang']; } else { $language = 'fr'; } $langs = list_dir(PROOT . 'lang', "/^([a-z]*)\\.php\$/", 1); /* --------------------------------------------------------------- */ require_once PROOT . 'libs/setup_smarty.php'; if ($language and is_file(PROOT . "lang/{$language}.php")) { include PROOT . "lang/{$language}.php"; } if (!isset($title)) { $title = ''; } // temp values $feedback = array(); $smarty->assign_by_ref('feedback', $feedback); $smarty->assign('language', $language); $smarty->assign('langs', $langs); $smarty->assign('url', basename($_SERVER['PHP_SELF'])); $smarty->assign('title', $title);
} if ($rename && $target && rename($target, $rename)) { $arr['new_name'] = $base_name; $arr['new_path'] = $new_path; $arr['msg'] = '重命名操作成功!'; $arr['result'] = 'success'; } if ($target == __FILE__) { $arr['redirect'] = $new_path; } die(json_encode($arr)); } //获取代码文件内容 $code = file_get_contents($curr_file); $tree = '<ul id="dir_tree"> <li class="dir" path="/" >ROOT' . list_dir($curr_file, 'html') . '</li> </ul>'; //处理一下html实体 $code = htmlspecialchars($code); $dir_icon = str_replace(array("\r\n", "\r", "\n"), '', 'data:image/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAANCAYAAACgu+4kAAAAGXRFWHRTb2Z0d2 FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQVJREFUeNqkkk1uwjAQhd84bsNP1FUXLCtu0H3XPSoX4Qrd9wR sCjQEcIY3DiiJUYiqRhp5Mra/92YSUVVgLSW49B7H+NApRh75XkHfFoCG+02tyflUeQTw2y9UYYP8cCStc9SM PeVA/Sy6Dw555q3au1z+EhBYk1cgO7OSNdaFNT0x5sCkYDha0WPiHZgVqPzLO+8seai6E2jed42bCL06tNyEH AX9kv3jh3HqH7BctFWLMOmAbcg05mHK5+sQpd1HYijN47zcDUCShGEHtzxtwQS9WTcAQmJROrJDLXQB9s1Tu6 MtRED4bwsHLnUzxEeKac3+GeP6eo8yevhjC3F1qC4CDAAl3HwuyNAIdwAAAABJRU5ErkJggg=='); $file_icon = str_replace(array("\r\n", "\r", "\n"), '', 'data:image/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAAAGXRFWHRTb2Z0d2 FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAS1JREFUeNqMU01KxkAMTaez7aYbNwreQdBzeopS6EXEW+jug7Z C6X+/iUloSr6xioFHJkPee5mUJgBwT7gjpPB3XAgfiBjs5dOyLF/btl0pkEFngdbzPGNRFK/U+0hwJAAMjmcm DsOA4zge6Pseu67DpmlEqK5rLMvyRkDJor6uq2SGktu2FfdpmpANqqoSASYnO/kthABJkoCOxCASkCBkWSYuQ qCeNE1fqHz3fMkXzjnJ2sRinL33QBNIzWJ5nh/L8npQohVTJwYTyfFm/d6Oo2HGE8ffwseuZ1PEjhrOutmsRF 0iC8QmPibEtT4hftrhHI95JqJT/HC2JOt0to+zN6MVsZ/oZKqwmyCTA33DkbN1sws0i+Pega6v0kd42H9JB/8
function list_dir($dir, $nr = 0) { global $system_drives; if (IS_WIN) { $dir = str_replace('\\', '/', $dir); } $arbo = explode('/', $dir); $space = $ret = $curdir = ''; for ($i = -1; $i != $nr; $i++) { $space .= ' '; } for ($j = 0; $j <= $nr; $j++) { $curdir .= $arbo[$j] . '/'; } $top_dir = IS_WIN ? strtolower($arbo[0]) : '/'; if (IS_WIN && $nr == 0) { foreach ($system_drives as $letter) { if ($letter != $top_dir) { $ret .= print_tree_line($letter, strtoupper($letter)); } } $ret .= '-<br>'; } if ($nr == 0) { $ret .= print_tree_line($top_dir, strtoupper($top_dir)); } $list = @scandir($curdir); if (!$list) { return $space . 'Permission denied<br />'; } foreach ($list as $v) { $e = $curdir . $v; if (!in_array($v, array('.', '..')) and is_dir($e)) { $ret .= print_tree_line($e, $v, $space); if (isset($arbo[$nr + 1]) && $arbo[$nr + 1] == $v) { $ret .= list_dir($dir, $nr + 1); } } } return $ret; }
<input type="text" name="crud_page" value="<?php echo $val; ?> " id="crud_page" /></p> <?php $val = isset($_REQUEST['search_page']) ? stripslashes($_REQUEST['search_page']) : 'inc.search.php'; ?> <p><label>Search file name</label> <input type="text" name="search_page" value="<?php echo $val; ?> " id="search_page" /></p> <p><input type="hidden" name="id_key" id="id_key" value="id" /> <input type="hidden" name="list_page" id="list_page" value="index.php" /> <input name="scaffold_info" type="hidden" value="1" /> <input type="submit" value="Make pages" /></p> </form> </div> <?php if ($did_scaffold) { echo '<h2>Created projects:</h2>'; echo list_dir('tmp'); } ?> </div> </body> </html>
$Drep = path_name($dfolder); $selection = "ok"; starttable('100%', $titre); echo "<tr><td class='tableh2'align='left'>{$lang_plugin_FileMove['DFolder']}<b>{$Drep}</b></td></tr>"; echo "<tr><td class='tableh2'align='left'>{$lang_plugin_FileMove['confirm_files']}</td></tr>"; echo "<tr><td class='tableh2'>"; $filename = $superCage->post->getRaw('file_name'); setcookie($CONFIG['cookie_name'] . '_filemove', base64_encode(serialize($filename)), 0, $CONFIG['cookie_path']); foreach ($filename as $n => $name) { echo $name . " "; } echo "</td></tr>"; echo "<tr><td class='tableh1' align='center'><b>{$lang_plugin_FileMove['folder_ar']}</b></td></tr>"; //choix du répertoire d'arrivée echo "<tr><td>"; list_dir($directory, 1, $dfolder, $selection, $selection1, $Drep); echo "</td></tr>"; endtable(); } else { starttable('100%', $lang_plugin_FileMove['display_name'] . ' - ' . $lang_plugin_FileMove['version'] . ' ' . '<a href="pluginmgr.php" class="admin_menu">Plugin Manager</a>', 2); //affichage du contenu du répertoire echo "<tr><td>"; $nb = 2; //Change this value according the column number you will display starttable('100%', $lang_plugin_FileMove['DFolder'] . $Drep, $nb); echo "<form name='file' action='' method='post'>"; echo "<tr>"; file_dir($dfolder, $nb); echo "<input type='hidden' name='dfolder' value='{$dfolder}'"; echo "<tr><td align='center' colspan='{$nb}'><input type='Submit' value='{$lang_plugin_FileMove['valid']}'></td></tr>"; echo "</tr></form>";
function list_dir($name, &$s) { if ($dir = opendir($name)) { while ($file = readdir($dir)) { if (is_dir($name . "/" . $file) && !in_array($file, array(".", ".."))) { list_dir($name . "/" . $file, $s); } else { if ($file != "." && $file != "..") { $s .= $file . ";"; } } } closedir($dir); } }
break; //------------------------------------------------------------------------------ // CREATE ARCHIVE //------------------------------------------------------------------------------ // CREATE ARCHIVE case "arch": require "./.include/fun_archive.php"; archive_items($GLOBALS["dir"]); break; //------------------------------------------------------------------------------ // USER-ADMINISTRATION //------------------------------------------------------------------------------ // USER-ADMINISTRATION case "admin": require "./.include/fun_admin.php"; show_admin($GLOBALS["dir"]); break; //------------------------------------------------------------------------------ // DEFAULT: LIST FILES & DIRS //------------------------------------------------------------------------------ // DEFAULT: LIST FILES & DIRS case "list": default: require "./.include/fun_list.php"; list_dir($GLOBALS["dir"]); //------------------------------------------------------------------------------ } // end switch-statement //------------------------------------------------------------------------------ show_footer(); //------------------------------------------------------------------------------
<td> <?php $dirs = list_dir('api/stats'); foreach ($dirs as $v) { echo '<input type="checkbox" name="setting[stats][]" value="' . $v['dir'] . '"' . (strpos(',' . $stats . ',', ',' . $v['dir'] . ',') !== false ? ' checked' : '') . '/> ' . $v['name'] . ' '; } tips('位于./api/stats/目录,一个目录即为一个统计接口<br/>请不要频繁更换接口,以免用户的设置失效。'); ?> </td> </tr> <tr> <td class="tl">公司主页客服接口</td> <td> <?php $dirs = list_dir('api/kf'); foreach ($dirs as $v) { echo '<input type="checkbox" name="setting[kf][]" value="' . $v['dir'] . '"' . (strpos(',' . $kf . ',', ',' . $v['dir'] . ',') !== false ? ' checked' : '') . '/> ' . $v['name'] . ' '; } tips('位于./api/kf/目录,一个目录即为一个客服接口<br/>请不要频繁更换接口,以免用户的设置失效。'); ?> </td> </tr> <tr> <td class="tl">级别中文别名</td> <td> <input type="text" name="setting[level]" style="width:98%;" value="<?php echo $level; ?> "/>