本文整理汇总了PHP中get_is_dir函数的典型用法代码示例。如果您正苦于以下问题:PHP get_is_dir函数的具体用法?PHP get_is_dir怎么用?PHP get_is_dir使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_is_dir函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: dir_list
function dir_list($dir)
{
// make list of directories
// this list is used to copy/move items to a specific location
$dir_list = array();
$handle = @opendir(get_abs_dir($dir));
if ($handle === false) {
return;
}
// unable to open dir
while (($new_item = readdir($handle)) !== false) {
//if(!@file_exists(get_abs_item($dir, $new_item))) continue;
if (!get_show_item($dir, $new_item)) {
continue;
}
if (!get_is_dir($dir, $new_item)) {
continue;
}
$dir_list[$new_item] = $new_item;
}
// sort
if (is_array($dir_list)) {
ksort($dir_list);
}
return $dir_list;
}
示例2: copy_move_items
//.........这里部分代码省略.........
echo "</td><td><input type=\"text\" size=\"25\" name=\"newitems[]\" value=\"";
echo $newitem . "\"></td></tr>\n";
}
// Submit & Cancel
echo "</table><br /><table><tr>\n<td>";
echo "<input type=\"submit\" value=\"";
echo $action != "move" ? $GLOBALS["messages"]["btncopy"] : $GLOBALS["messages"]["btnmove"];
echo "\" onclick=\"javascript:Execute();\"></td>\n<td>";
echo "<input type=\"button\" value=\"" . $GLOBALS["messages"]["btncancel"];
echo "\" onclick=\"javascript:location='" . make_link("list", $dir, NULL);
echo "';\"></td>\n</tr></table><br /></form>\n";
return;
}
// DO COPY/MOVE
// ALL OK?
if (!@$GLOBALS['nx_File']->file_exists(get_abs_dir($new_dir))) {
show_error(get_abs_dir($new_dir) . ": " . $GLOBALS["error_msg"]["targetexist"]);
}
if (!get_show_item($new_dir, "")) {
show_error($new_dir . ": " . $GLOBALS["error_msg"]["accesstarget"]);
}
if (!down_home(get_abs_dir($new_dir))) {
show_error($new_dir . ": " . $GLOBALS["error_msg"]["targetabovehome"]);
}
// copy / move files
$err = false;
for ($i = 0; $i < $cnt; ++$i) {
$tmp = stripslashes($GLOBALS['__POST']["selitems"][$i]);
$new = basename(stripslashes($GLOBALS['__POST']["newitems"][$i]));
if (nx_isFTPMode()) {
$abs_item = get_item_info($dir, $tmp);
$abs_new_item = get_item_info('/' . $new_dir, $new);
} else {
$abs_item = get_abs_item($dir, $tmp);
$abs_new_item = get_abs_item($new_dir, $new);
}
$items[$i] = $tmp;
// Check
if ($new == "") {
$error[$i] = $GLOBALS["error_msg"]["miscnoname"];
$err = true;
continue;
}
if (!@$GLOBALS['nx_File']->file_exists($abs_item)) {
$error[$i] = $GLOBALS["error_msg"]["itemexist"];
$err = true;
continue;
}
if (!get_show_item($dir, $tmp)) {
$error[$i] = $GLOBALS["error_msg"]["accessitem"];
$err = true;
continue;
}
if (@$GLOBALS['nx_File']->file_exists($abs_new_item)) {
$error[$i] = $GLOBALS["error_msg"]["targetdoesexist"];
$err = true;
continue;
}
// Copy / Move
if ($action == "copy") {
if (@is_link($abs_item) || get_is_file($abs_item)) {
// check file-exists to avoid error with 0-size files (PHP 4.3.0)
if (nx_isFTPMode()) {
$abs_item = '/' . $dir . '/' . $abs_item['name'];
}
$ok = @$GLOBALS['nx_File']->copy($abs_item, $abs_new_item);
//||@file_exists($abs_new_item);
} elseif (@get_is_dir($abs_item)) {
$dir = nx_isFTPMode() ? '/' . $dir . '/' . $abs_item['name'] . '/' : $abs_item;
if (nx_isFTPMode()) {
$abs_new_item .= '/';
}
$ok = $GLOBALS['nx_File']->copy_dir($dir, $abs_new_item);
}
} else {
$ok = $GLOBALS['nx_File']->rename($abs_item, $abs_new_item);
}
if ($ok === false || PEAR::isError($ok)) {
$error[$i] = $action == "copy" ? $GLOBALS["error_msg"]["copyitem"] : $GLOBALS["error_msg"]["moveitem"];
if (PEAR::isError($ok)) {
$error[$i] .= ' [' . $ok->getMessage() . ']';
}
$err = true;
continue;
}
$error[$i] = NULL;
}
if ($err) {
// there were errors
$err_msg = "";
for ($i = 0; $i < $cnt; ++$i) {
if ($error[$i] == NULL) {
continue;
}
$err_msg .= $items[$i] . " : " . $error[$i] . "<br />\n";
}
show_error($err_msg);
}
header("Location: " . make_link("list", $dir, NULL));
}
示例3: send_dircontents
/**
* This function assembles an array (list) of files or directories in the directory specified by $dir
* The result array is send using JSON
*
* @param string $dir
* @param string $sendWhat Can be "files" or "dirs"
*/
function send_dircontents($dir, $sendWhat = 'files')
{
// print table of files
global $dir_up, $mainframe;
// make file & dir tables, & get total filesize & number of items
get_dircontents($dir, $dir_list, $file_list, $tot_file_size, $num_items);
if ($sendWhat == 'files') {
$list = $file_list;
} elseif ($sendWhat == 'dirs') {
$list = $dir_list;
} else {
$list = make_list($dir_list, $file_list);
}
$i = 0;
$items['totalCount'] = count($list);
$items['items'] = array();
$dirlist = array();
if ($sendWhat != 'dirs') {
// Replaced array_splice, because it resets numeric indexes (like files or dirs with a numeric name)
// Here we reduce the list to the range of $limit beginning at $start
$a = 0;
$output_array = array();
foreach ($list as $key => $value) {
if ($a >= $GLOBALS['start'] && $a - $GLOBALS['start'] < $GLOBALS['limit']) {
$output_array[$key] = $value;
}
$a++;
}
$list = $output_array;
}
while (list($item, $info) = each($list)) {
// link to dir / file
if (is_array($info)) {
$abs_item = $info;
if (extension_loaded('posix')) {
$user_info = posix_getpwnam($info['user']);
$file_info['uid'] = $user_info['uid'];
$file_info['gid'] = $user_info['gid'];
}
} else {
$abs_item = get_abs_item(ext_TextEncoding::fromUTF8($dir), $item);
$file_info = @stat($abs_item);
}
$is_dir = get_is_dir($abs_item);
if ($GLOBALS['use_mb']) {
if (ext_isFTPMode()) {
$items['items'][$i]['name'] = $item;
} else {
if (mb_detect_encoding($item) == 'ASCII') {
$items['items'][$i]['name'] = ext_TextEncoding::toUTF8($item);
} else {
$items['items'][$i]['name'] = ext_TextEncoding::toUTF8($item);
}
}
} else {
$items['items'][$i]['name'] = ext_isFTPMode() ? $item : ext_TextEncoding::toUTF8($item);
}
$items['items'][$i]['is_file'] = get_is_file($abs_item);
$items['items'][$i]['is_archive'] = ext_isArchive($item) && !ext_isFTPMode();
$items['items'][$i]['is_writable'] = $is_writable = @$GLOBALS['ext_File']->is_writable($abs_item);
$items['items'][$i]['is_chmodable'] = $is_chmodable = @$GLOBALS['ext_File']->is_chmodable($abs_item);
$items['items'][$i]['is_readable'] = $is_readable = @$GLOBALS['ext_File']->is_readable($abs_item);
$items['items'][$i]['is_deletable'] = $is_deletable = @$GLOBALS['ext_File']->is_deletable($abs_item);
$items['items'][$i]['is_editable'] = get_is_editable($abs_item);
$items['items'][$i]['icon'] = _EXT_URL . "/images/" . get_mime_type($abs_item, "img");
$items['items'][$i]['size'] = parse_file_size(get_file_size($abs_item));
// type
$items['items'][$i]['type'] = get_mime_type($abs_item, "type");
// modified
$items['items'][$i]['modified'] = parse_file_date(get_file_date($abs_item));
// permissions
$perms = get_file_perms($abs_item);
if ($perms) {
if (strlen($perms) > 3) {
$perms = substr($perms, 2);
}
$items['items'][$i]['perms'] = $perms . ' (' . parse_file_perms($perms) . ')';
} else {
$items['items'][$i]['perms'] = ' (unknown) ';
}
$items['items'][$i]['perms'] = $perms . ' (' . parse_file_perms($perms) . ')';
if (extension_loaded("posix")) {
if ($file_info["uid"]) {
$user_info = posix_getpwuid($file_info["uid"]);
//$group_info = posix_getgrgid($file_info["gid"]);
$items['items'][$i]['owner'] = $user_info["name"] . " (" . $file_info["uid"] . ")";
} else {
$items['items'][$i]['owner'] = " (unknown) ";
}
} else {
$items['items'][$i]['owner'] = 'n/a';
}
if ($is_dir && $sendWhat != 'files') {
//.........这里部分代码省略.........
示例4: extReadDirectory
/**
* Utility function to read the files in a directory
* @param string The file system path
* @param string A filter for the names
* @param boolean Recurse search into sub-directories
* @param boolean True if to prepend the full path to the file name
*/
function extReadDirectory($path, $filter = '.', $recurse = false, $fullpath = false)
{
$arr = array();
if (!@get_is_dir($path)) {
return $arr;
}
$handle = ext_File::opendir($path);
while ($file = ext_File::readdir($handle)) {
if (is_array($file)) {
$file = $file['name'];
}
$dir = extPathName($path . '/' . $file, false);
$isDir = @get_is_dir($dir);
if ($file != "." && $file != "..") {
if (preg_match("/{$filter}/", $file)) {
if ($fullpath) {
$arr[] = trim(extPathName($path . '/' . $file, false));
} else {
$arr[] = trim($file);
}
}
if ($recurse && $isDir) {
$arr2 = extReadDirectory($dir, $filter, $recurse, $fullpath);
$arr = array_merge($arr, $arr2);
}
}
}
ext_File::closedir($handle);
asort($arr);
return $arr;
}
示例5: execAction
function execAction($dir, $item)
{
// rename directory or file
if (($GLOBALS["permissions"] & 01) != 01) {
ext_Result::sendResult('rename', false, $GLOBALS["error_msg"]["accessfunc"]);
}
if (isset($GLOBALS['__POST']["confirm"]) && $GLOBALS['__POST']["confirm"] == "true") {
$newitemname = $GLOBALS['__POST']["newitemname"];
$newitemname = trim(basename(stripslashes($newitemname)));
if ($newitemname == '') {
ext_Result::sendResult('rename', false, $GLOBALS["error_msg"]["miscnoname"]);
}
if (!ext_isFTPMode()) {
$abs_old = get_abs_item($dir, $item);
$abs_new = get_abs_item($dir, $newitemname);
} else {
$abs_old = get_item_info($dir, $item);
$abs_new = get_item_info($dir, $newitemname);
}
if (@$GLOBALS['ext_File']->file_exists($abs_new)) {
ext_Result::sendResult('rename', false, $newitemname . ": " . $GLOBALS["error_msg"]["itemdoesexist"]);
}
$perms_old = $GLOBALS['ext_File']->fileperms($abs_old);
$ok = $GLOBALS['ext_File']->rename(get_abs_item($dir, $item), get_abs_item($dir, $newitemname));
if (ext_isFTPMode()) {
$abs_new = get_item_info($dir, $newitemname);
}
$GLOBALS['ext_File']->chmod($abs_new, $perms_old);
if ($ok === false || PEAR::isError($ok)) {
ext_Result::sendResult('rename', false, 'Could not rename ' . $dir . '/' . $item . ' to ' . $newitemname);
}
$msg = sprintf($GLOBALS['messages']['success_rename_file'], $item, $newitemname);
ext_Result::sendResult('rename', true, $msg);
}
$is_dir = get_is_dir(ext_isFTPMode() ? get_item_info($dir, $item) : get_abs_item($dir, $item));
?>
<div style="width:auto;">
<div class="x-box-tl"><div class="x-box-tr"><div class="x-box-tc"></div></div></div>
<div class="x-box-ml"><div class="x-box-mr"><div class="x-box-mc">
<h3 style="margin-bottom:5px;"><?php
echo $GLOBALS['messages']['rename_file'];
?>
</h3>
<div id="adminForm">
</div>
</div></div></div>
<div class="x-box-bl"><div class="x-box-br"><div class="x-box-bc"></div></div></div>
</div>
<script type="text/javascript">
var simple = new Ext.form.Form({
labelWidth: 75, // label settings here cascade unless overridden
url:'<?php
echo basename($GLOBALS['script_name']);
?>
'
});
simple.add(
new Ext.form.TextField({
fieldLabel: '<?php
echo ext_Lang::msg('newname', true);
?>
',
name: 'newitemname',
value: '<?php
echo str_replace("'", "\\'", stripslashes($item));
?>
',
width:175,
allowBlank:false
})
);
simple.addButton('<?php
echo ext_Lang::msg('btnsave', true);
?>
', function() {
statusBarMessage( 'Please wait...', true );
simple.submit({
//reset: true,
reset: false,
success: function(form, action) {
<?php
if ($is_dir) {
?>
parentDir = dirTree.getSelectionModel().getSelectedNode().parentNode;
parentDir.reload();
parentDir.select();
<?php
} else {
?>
datastore.reload();
<?php
}
?>
statusBarMessage( action.result.message, false, true );
dialog.destroy();
},
failure: function(form, action) {
//.........这里部分代码省略.........
示例6: make_tables
function make_tables($dir, &$dir_list, &$file_list, &$tot_file_size, &$num_items)
{
// make table of files in dir
// make tables & place results in reference-variables passed to function
// also 'return' total filesize & total number of items
$homedir = realpath($GLOBALS['home_dir']);
$tot_file_size = $num_items = 0;
// Open directory
$handle = @opendir(get_abs_dir($dir));
if ($handle === false && $dir == "") {
$handle = @opendir($homedir . $GLOBALS['separator']);
}
if ($handle === false) {
ext_Result::sendResult('', false, $dir . ": " . $GLOBALS["error_msg"]["opendir"]);
}
// Read directory
while (($new_item = readdir($handle)) !== false) {
$abs_new_item = get_abs_item($dir, $new_item);
if ($new_item == "." || $new_item == "..") {
continue;
}
if (!file_exists($abs_new_item)) {
//ext_Result::sendResult('', false, $dir."/$abs_new_item: ".$GLOBALS["error_msg"]["readdir"]);
if (!get_show_item($dir, $new_item)) {
continue;
}
}
$new_file_size = @filesize($abs_new_item);
$tot_file_size += $new_file_size;
$num_items++;
if (get_is_dir($abs_new_item)) {
if ($GLOBALS["order"] == "mod") {
$dir_list[$new_item] = @filemtime($abs_new_item);
} else {
// order == "size", "type" or "name"
$dir_list[$new_item] = $new_item;
}
} else {
if ($GLOBALS["order"] == "size") {
$file_list[$new_item] = $new_file_size;
} elseif ($GLOBALS["order"] == "mod") {
$file_list[$new_item] = @filemtime($abs_new_item);
} elseif ($GLOBALS["order"] == "type") {
$file_list[$new_item] = get_mime_type($abs_new_item, "type");
} else {
// order == "name"
$file_list[$new_item] = $new_item;
}
}
}
closedir($handle);
// sort
if (is_array($dir_list)) {
if ($GLOBALS["order"] == "mod") {
if ($GLOBALS["direction"] == "ASC") {
arsort($dir_list);
} else {
asort($dir_list);
}
} else {
// order == "size", "type" or "name"
if ($GLOBALS["direction"] == "ASC") {
ksort($dir_list);
} else {
krsort($dir_list);
}
}
}
// sort
if (is_array($file_list)) {
if ($GLOBALS["order"] == "mod") {
if ($GLOBALS["direction"] == "ASC") {
arsort($file_list);
} else {
asort($file_list);
}
} elseif ($GLOBALS["order"] == "size" || $GLOBALS["order"] == "type") {
if ($GLOBALS["direction"] == "ASC") {
asort($file_list);
} else {
arsort($file_list);
}
} else {
// order == "name"
if ($GLOBALS["direction"] == "ASC") {
ksort($file_list);
} else {
krsort($file_list);
}
}
}
}
示例7: urldecode
}
} else {
$GLOBALS["dir"] = $dir = urldecode(stripslashes(mosGetParam($_REQUEST, "dir")));
}
if ($dir == 'jx_root') {
$GLOBALS["dir"] = $dir = '';
}
if (jx_isFTPMode() && $dir != '') {
$GLOBALS['FTPCONNECTION']->cd($dir);
}
$abs_dir = get_abs_dir($GLOBALS["dir"]);
if (!file_exists($GLOBALS["home_dir"])) {
if (!file_exists($GLOBALS["home_dir"] . $GLOBALS["separator"])) {
if ($GLOBALS["require_login"]) {
$extra = "<a href=\"" . make_link("logout", NULL, NULL) . "\">" . $GLOBALS["messages"]["btnlogout"] . "</A>";
} else {
$extra = NULL;
}
show_error($GLOBALS["error_msg"]["home"] . " (" . $GLOBALS["home_dir"] . ")", $extra);
}
}
if (!down_home($abs_dir)) {
show_error($GLOBALS["dir"] . " : " . $GLOBALS["error_msg"]["abovehome"]);
$dir = '';
}
if (!get_is_dir($abs_dir) && !get_is_dir($abs_dir . $GLOBALS["separator"])) {
show_error($abs_dir . " : " . $GLOBALS["error_msg"]["direxist"]);
$dir = '';
}
$_SESSION['jx_' . $GLOBALS['file_mode'] . 'dir'] = $dir;
//------------------------------------------------------------------------------
示例8: print_table
function print_table($dir, $list, $allow)
{
// print table of files
global $dir_up;
if (!is_array($list)) {
return;
}
if ($dir != "" || strstr($dir, _QUIXPLORER_PATH)) {
echo "<tr class=\"row1\">\n\t \t\t\t<td> </td>\n\t \t\t\t<td valign=\"baseline\">\n\t \t\t\t\t<a href=\"" . make_link("list", $dir_up, NULL) . "\">\n\t \t\t\t\t<img border=\"0\" width=\"22\" height=\"22\" align=\"absmiddle\" src=\"" . _QUIXPLORER_URL . "/images/_up.png\" alt=\"" . $GLOBALS["messages"]["uplink"] . "\" title=\"" . $GLOBALS["messages"]["uplink"] . "\"/> ..</a>\n\t \t\t\t</td>\n\t \t\t\t<td> </td>\n\t \t\t\t<td> </td>\n\t \t\t\t<td> </td>\n\t \t\t\t<td> </td>\n\t \t\t\t<td> </td>";
if (extension_loaded("posix")) {
echo "<td> </td>";
}
echo "</tr>";
}
$i = 0;
$toggle = false;
while (list($item, $info) = each($list)) {
// link to dir / file
if (is_array($info)) {
$abs_item = $info;
if (extension_loaded('posix')) {
$user_info = posix_getpwnam($info['user']);
$file_info['uid'] = $user_info['uid'];
$file_info['gid'] = $user_info['gid'];
}
} else {
$abs_item = get_abs_item($dir, $item);
$file_info = @stat($abs_item);
}
$is_writable = @$GLOBALS['jx_File']->is_writable($abs_item);
$is_chmodable = @$GLOBALS['jx_File']->is_chmodable($abs_item);
$is_readable = @$GLOBALS['jx_File']->is_readable($abs_item);
$is_deletable = @$GLOBALS['jx_File']->is_deletable($abs_item);
$target = "";
$extra = "";
if (@$GLOBALS['jx_File']->is_link($abs_item)) {
$extra = " -> " . @readlink($abs_item);
}
if (@get_is_dir($abs_item, '')) {
$link = make_link("list", get_rel_item($dir, $item), NULL);
} else {
if (get_is_editable($abs_item) && $is_writable) {
$link = make_link('edit', $dir, $item);
} elseif ($is_readable) {
if (strstr(get_abs_dir($dir), $GLOBALS['mosConfig_absolute_path']) && !$GLOBALS['jx_File']->is_link($abs_item)) {
$link = $GLOBALS["home_url"] . "/" . get_rel_item($dir, $item);
$target = '_blank';
} else {
$link = make_link('download', $dir, $item);
}
}
}
if (jx_isIE()) {
echo '<tr onmouseover="style.backgroundColor=\'#D8ECFF\';" onmouseout="style.backgroundColor=\'#EAECEE\';" bgcolor=\'#EAECEE\'>';
} else {
$toggle = $toggle ? '1' : '0';
echo "<tr class=\"row{$toggle}\">";
$toggle = !$toggle;
}
echo "<td><input type=\"checkbox\" id=\"item_{$i}\" name=\"selitems[]\" value=\"";
echo urlencode($item) . "\" onclick=\"javascript:Toggle(this);\" /></td>\n";
// Icon + Link
echo "<td nowrap=\"nowrap\" align=\"left\">";
if ($is_readable) {
echo "<a href=\"" . $link . "\" target=\"" . $target . "\">";
}
//else echo "<<>";
echo "<img border=\"0\" width=\"22\" height=\"22\" ";
echo "align=\"absmiddle\" src=\"" . _QUIXPLORER_URL . "/images/" . get_mime_type($abs_item, "img") . "\" alt=\"\" /> ";
$s_item = $item;
if (strlen($s_item) > 50) {
$s_item = substr($s_item, 0, 47) . "...";
}
echo htmlspecialchars($s_item . $extra);
if ($is_readable) {
echo "</a>";
// ...$extra...
}
echo "</td>\n";
// Size
echo "<td>" . parse_file_size(get_file_size($abs_item)) . "</td>\n";
// type
echo "<td>" . get_mime_type($abs_item, "type") . "</td>\n";
// modified
echo "<td>" . parse_file_date(get_file_date($abs_item)) . "</td>\n";
// permissions
echo "<td>";
if ($allow && $is_chmodable) {
echo "<a href=\"" . make_link("chmod", $dir, $item) . "\" title=\"";
echo $GLOBALS["messages"]["permlink"] . "\">";
}
$perms = get_file_perms($abs_item);
if (strlen($perms) > 3) {
$perms = substr($perms, 2);
}
echo '<strong>' . $perms . '</strong><br />' . parse_file_type($dir, $item) . parse_file_perms($perms);
if ($allow && $is_chmodable) {
echo "</a>";
}
echo "</td>\n";
//.........这里部分代码省略.........
示例9: nx_ftp_make_local_copy
function nx_ftp_make_local_copy($abs_item, $use_filehandle = false)
{
if (get_is_dir($abs_item)) {
$tmp_dir = _QUIXPLORER_FTPTMP_PATH . '/' . uniqid('nx_tmpdir_') . '/';
$res = $GLOBALS['FTPCONNECTION']->getRecursive($abs_item, $tmp_dir, true);
if (PEAR::isError($res)) {
show_error('Failed to fetch the directory via FTP: ' . $res->getMessage());
}
return $tmp_dir;
}
if (!$use_filehandle) {
$tmp_file = tempnam(_QUIXPLORER_FTPTMP_PATH, 'nx_ftp_dl_');
if ($tmp_file == 'false') {
show_error('The /ftp_tmp Directory must be writable in order to use this functionality in FTP Mode.');
}
$res = $GLOBALS['FTPCONNECTION']->get('/' . $abs_item, $tmp_file, true);
if (PEAR::isError($res)) {
show_error('Failed to fetch the file via filehandle from FTP: ' . $res->getMessage());
}
} else {
$tmp_file = tmpfile();
$res = $GLOBALS['FTPCONNECTION']->fget('/' . $abs_item, $tmp_file, true);
if (PEAR::isError($res)) {
show_error('Failed to fetch the file via FTP: ' . $res->getMessage());
}
rewind($tmp_file);
}
return $tmp_file;
}
示例10: print_table
function print_table($list)
{
// print table of found items
if (!is_array($list)) {
return;
}
$cnt = count($list);
for ($i = 0; $i < $cnt; ++$i) {
$dir = $list[$i][0];
$item = $list[$i][1];
$s_dir = $dir;
if (strlen($s_dir) > 65) {
$s_dir = substr($s_dir, 0, 62) . "...";
}
$s_item = $item;
if (strlen($s_item) > 45) {
$s_item = substr($s_item, 0, 42) . "...";
}
$link = "";
$target = "";
if (get_is_dir($dir, $item)) {
$img = "dir.png";
$link = make_link("list", get_rel_item($dir, $item), NULL);
} else {
$img = get_mime_type($dir, $item, "img");
//if(get_is_editable($dir,$item) || get_is_image($dir,$item)) {
$link = $GLOBALS["home_url"] . "/" . get_rel_item($dir, $item);
$target = "_blank";
//}
}
echo "<tr><td>" . "<img border=\"0\" width=\"22\" height=\"22\" ";
echo "align=\"absmiddle\" src=\"" . _QUIXPLORER_URL . "/images/" . $img . "\" alt=\"\"> ";
/*if($link!="")*/
echo "<a href=\"" . $link . "\" target=\"" . $target . "\">";
//else echo "<a>";
echo $s_item . "</a></td><td><a href=\"" . make_link("list", $dir, null) . "\"> /";
echo $s_dir . "</a></td></tr>\n";
}
}
示例11: execAction
function execAction($dir, $item)
{
// change permissions
if (($GLOBALS["permissions"] & 01) != 01) {
ext_Result::sendResult('chmod', false, $GLOBALS["error_msg"]["accessfunc"]);
}
if (!empty($GLOBALS['__POST']["selitems"])) {
$cnt = count($GLOBALS['__POST']["selitems"]);
} else {
$GLOBALS['__POST']["selitems"][] = $item;
$cnt = 1;
}
if (!empty($GLOBALS['__POST']['do_recurse'])) {
$do_recurse = true;
} else {
$do_recurse = false;
}
// Execute
if (isset($GLOBALS['__POST']["confirm"]) && $GLOBALS['__POST']["confirm"] == "true") {
$bin = '';
for ($i = 0; $i < 3; $i++) {
for ($j = 0; $j < 3; $j++) {
$tmp = "r_" . $i . $j;
if (!empty($GLOBALS['__POST'][$tmp])) {
$bin .= '1';
} else {
$bin .= '0';
}
}
}
if ($bin == '0') {
// Changing permissions to "none" is not allowed
ext_Result::sendResult('chmod', false, $item . ": " . ext_Lang::err('chmod_none_not_allowed'));
}
$old_bin = $bin;
for ($i = 0; $i < $cnt; ++$i) {
if (ext_isFTPMode()) {
$mode = decoct(bindec($bin));
} else {
$mode = bindec($bin);
}
$item = $GLOBALS['__POST']["selitems"][$i];
if (ext_isFTPMode()) {
$abs_item = get_item_info($dir, $item);
} else {
$abs_item = get_abs_item($dir, $item);
}
if (!$GLOBALS['ext_File']->file_exists($abs_item)) {
ext_Result::sendResult('chmod', false, $item . ": " . $GLOBALS["error_msg"]["fileexist"]);
}
if (!get_show_item($dir, $item)) {
ext_Result::sendResult('chmod', false, $item . ": " . $GLOBALS["error_msg"]["accessfile"]);
}
if ($do_recurse) {
$ok = $GLOBALS['ext_File']->chmodRecursive($abs_item, $mode);
} else {
if (get_is_dir($abs_item)) {
// when we chmod a directory we must care for the permissions
// to prevent that the directory becomes not readable (when the "execute bits" are removed)
$bin = substr_replace($bin, '1', 2, 1);
// set 1st x bit to 1
$bin = substr_replace($bin, '1', 5, 1);
// set 2nd x bit to 1
$bin = substr_replace($bin, '1', 8, 1);
// set 3rd x bit to 1
if (ext_isFTPMode()) {
$mode = decoct(bindec($bin));
} else {
$mode = bindec($bin);
}
}
//ext_Result::sendResult('chmod', false, $GLOBALS['FTPCONNECTION']->pwd());
$ok = @$GLOBALS['ext_File']->chmod($abs_item, $mode);
}
$bin = $old_bin;
}
if ($ok === false || PEAR::isError($ok)) {
$msg = $item . ": " . $GLOBALS["error_msg"]["permchange"];
$msg .= PEAR::isError($ok) ? ' [' . $ok->getMessage() . ']' : '';
ext_Result::sendResult('chmod', false, $msg);
}
ext_Result::sendResult('chmod', true, ext_Lang::msg('permchange'));
return;
}
if (ext_isFTPMode()) {
$abs_item = get_item_info($dir, $GLOBALS['__POST']["selitems"][0]);
} else {
$abs_item = get_abs_item($dir, $GLOBALS['__POST']["selitems"][0]);
$abs_item = utf8_decode($abs_item);
}
$mode = parse_file_perms(get_file_perms($abs_item));
if ($mode === false) {
ext_Result::sendResult('chmod', false, $item . ": " . $GLOBALS["error_msg"]["permread"]);
}
$pos = "rwx";
$text = "";
for ($i = 0; $i < $cnt; ++$i) {
$s_item = get_rel_item($dir, $GLOBALS['__POST']["selitems"][$i]);
if (strlen($s_item) > 50) {
$s_item = "..." . substr($s_item, -47);
//.........这里部分代码省略.........
示例12: print_table
function print_table($dir, $list, $allow)
{
// print table of files
if (!is_array($list)) {
return;
}
while (list($item, ) = each($list)) {
// link to dir / file
$abs_item = get_abs_item($dir, $item);
$target = "";
//$extra="";
//if(is_link($abs_item)) $extra=" -> ".@readlink($abs_item);
if (is_dir($abs_item)) {
$link = make_link("list", get_rel_item($dir, $item), NULL);
} else {
//if(get_is_editable($dir,$item) || get_is_image($dir,$item)) {
$link = $GLOBALS["home_url"] . "/" . get_rel_item($dir, $item);
$target = "_blank";
}
//else $link = "";
echo "<TR class=\"rowdata\"><TD><INPUT TYPE=\"checkbox\" name=\"selitems[]\" value=\"";
echo htmlspecialchars($item) . "\" onclick=\"javascript:Toggle(this);\"></TD>\n";
// Icon + Link
echo "<TD nowrap>";
if (get_is_dir($dir, $item)) {
/*if($link!="") */
echo "<A HREF=\"" . $link . "\" TARGET=\"" . $target . "\">";
//else echo "<A>";
}
echo "<IMG border=\"0\" width=\"16\" height=\"16\" ";
echo "align=\"ABSMIDDLE\" src=\"_img/" . get_mime_type($dir, $item, "img") . "\" ALT=\"\"> ";
$s_item = $item;
if (strlen($s_item) > 50) {
$s_item = substr($s_item, 0, 47) . "...";
}
echo htmlspecialchars($s_item);
if (get_is_dir($dir, $item)) {
echo "</A>";
}
echo "</TD>\n";
// ...$extra...
// Size
echo "<TD>" . parse_file_size(get_file_size($dir, $item)) . "</TD>\n";
// Type
echo "<TD>" . get_mime_type($dir, $item, "type") . "</TD>\n";
// Modified
echo "<TD>" . parse_file_date(get_file_date($dir, $item)) . "</TD>\n";
// Permissions
echo "<TD>";
if ($allow) {
echo "<A HREF=\"" . make_link("chmod", $dir, $item) . "\" TITLE=\"";
echo $GLOBALS["messages"]["permlink"] . "\">";
}
echo parse_file_type($dir, $item) . parse_file_perms(get_file_perms($dir, $item));
if ($allow) {
echo "</A>";
}
echo "</TD>\n";
// Actions
echo "<TD>\n<TABLE>\n";
// EDIT
if (get_is_editable($dir, $item)) {
if ($allow) {
echo "<TD><A HREF=\"" . make_link("edit", $dir, $item) . "\">";
echo "<IMG border=\"0\" width=\"16\" height=\"16\" align=\"ABSMIDDLE\" ";
echo "src=\"_img/_edit.gif\" ALT=\"" . $GLOBALS["messages"]["editlink"] . "\" TITLE=\"";
echo $GLOBALS["messages"]["editlink"] . "\"></A></TD>\n";
} else {
echo "<TD><IMG border=\"0\" width=\"16\" height=\"16\" align=\"ABSMIDDLE\" ";
echo "src=\"_img/_edit_.gif\" ALT=\"" . $GLOBALS["messages"]["editlink"] . "\" TITLE=\"";
echo $GLOBALS["messages"]["editlink"] . "\"></TD>\n";
}
} else {
echo "<TD><IMG border=\"0\" width=\"16\" height=\"16\" align=\"ABSMIDDLE\" ";
echo "src=\"_img/_.gif\" ALT=\"\"></TD>\n";
}
// DOWNLOAD
if (get_is_file($dir, $item)) {
if ($GLOBALS["display_file_download_icon"]) {
if ($allow) {
echo "<TD><A HREF=\"" . make_link("download", $dir, $item) . "\">";
echo "<IMG border=\"0\" width=\"16\" height=\"16\" align=\"ABSMIDDLE\" ";
echo "src=\"_img/_download.gif\" ALT=\"" . $GLOBALS["messages"]["downlink"];
echo "\" TITLE=\"" . $GLOBALS["messages"]["downlink"] . "\"></A></TD>\n";
} else {
if (!$allow) {
echo "<TD><IMG border=\"0\" width=\"16\" height=\"16\" align=\"ABSMIDDLE\" ";
echo "src=\"_img/_download_.gif\" ALT=\"" . $GLOBALS["messages"]["downlink"];
echo "\" TITLE=\"" . $GLOBALS["messages"]["downlink"] . "\"></TD>\n";
}
}
}
} else {
echo "<TD><IMG border=\"0\" width=\"16\" height=\"16\" align=\"ABSMIDDLE\" ";
echo "src=\"_img/_.gif\" ALT=\"\"></TD>\n";
}
echo "</TABLE>\n</TD></TR>\n";
}
}
示例13: get_dir_list
function get_dir_list($dir = '')
{
$files = mosReadDirectory(get_abs_dir($dir), '.', false, true);
$dirs = array();
foreach ($files as $item) {
$item = str_replace('\\', '/', $item);
if (get_is_dir($item)) {
$index = str_replace($GLOBALS['home_dir'] . $GLOBALS['separator'], '', $item);
$dirs[$index] = basename($index);
}
}
return $dirs;
}
示例14: execAction
function execAction($dir, $item)
{
// rename directory or file
if (($GLOBALS["permissions"] & 01) != 01) {
ext_Result::sendResult('rename', false, $GLOBALS["error_msg"]["accessfunc"]);
}
if (isset($GLOBALS['__POST']["confirm"]) && $GLOBALS['__POST']["confirm"] == "true") {
$newitemname = $GLOBALS['__POST']["newitemname"];
$newitemname = trim(basename(stripslashes($newitemname)));
if ($newitemname == '') {
ext_Result::sendResult('rename', false, $GLOBALS["error_msg"]["miscnoname"]);
}
if (!ext_isFTPMode()) {
$abs_old = get_abs_item($dir, $item);
$abs_new = get_abs_item($dir, $newitemname);
} else {
$abs_old = get_item_info($dir, $item);
$abs_new = get_item_info($dir, $newitemname);
}
if (@$GLOBALS['ext_File']->file_exists($abs_new)) {
ext_Result::sendResult('rename', false, ext_TextEncoding::toUTF8($newitemname) . ": " . $GLOBALS["error_msg"]["itemdoesexist"]);
}
$perms_old = $GLOBALS['ext_File']->fileperms($abs_old);
$ok = $GLOBALS['ext_File']->rename(get_abs_item($dir, $item), get_abs_item($dir, $newitemname));
if (ext_isFTPMode()) {
$abs_new = get_item_info($dir, $newitemname);
}
$GLOBALS['ext_File']->chmod($abs_new, $perms_old);
if ($ok === false || PEAR::isError($ok)) {
ext_Result::sendResult('rename', false, 'Could not rename ' . $dir . '/' . $item . ' to ' . $newitemname);
}
$msg = sprintf($GLOBALS['messages']['success_rename_file'], $item, $newitemname);
ext_Result::sendResult('rename', true, $msg);
}
$is_dir = get_is_dir(ext_isFTPMode() ? get_item_info($dir, $item) : get_abs_item($dir, $item));
?>
{
"xtype": "form",
"width": "350",
"height": "150",
"id": "simpleform",
"labelWidth": 125,
"url":"<?php
echo basename($GLOBALS['script_name']);
?>
",
"dialogtitle": "<?php
echo $GLOBALS['messages']['rename_file'];
?>
",
"frame": true,
"items": [{
"xtype": "textfield",
"fieldLabel": "<?php
echo ext_Lang::msg('newname', true);
?>
",
"name": "newitemname",
"id": "newitemname",
"value": "<?php
echo str_replace("'", "\\'", stripslashes($item));
?>
",
"width":175,
"allowBlank":false
}
],
"listeners": { "afterrender": {
fn: function( form ) {
form.findById("newitemname").focus(true);
}
}
},
"buttons": [{
"text": "<?php
echo ext_Lang::msg('btnsave', true);
?>
",
"handler": function() {
statusBarMessage( 'Please wait...', true );
form = Ext.getCmp("simpleform").getForm();
form.submit({
//reset: true,
reset: false,
success: function(form, action) {
<?php
if ($is_dir) {
?>
if( dirTree.getSelectionModel().getSelectedNode() ) {
parentDir = dirTree.getSelectionModel().getSelectedNode().parentNode;parentDir.reload();parentDir.select();
}
<?php
}
?>
datastore.reload();
statusBarMessage( action.result.message, false, true );
Ext.getCmp("dialog").destroy();
},
failure: function(form, action) {
//.........这里部分代码省略.........
示例15: print_table
function print_table($list)
{
// print table of found items
if (!is_array($list)) {
return;
}
$cnt = count($list);
for ($i = 0; $i < $cnt; ++$i) {
$dir = $list[$i][0];
$item = $list[$i][1];
$s_dir = $dir;
if (strlen($s_dir) > 65) {
$s_dir = substr($s_dir, 0, 62) . "...";
}
$s_item = $item;
if (strlen($s_item) > 45) {
$s_item = substr($s_item, 0, 42) . "...";
}
$link = "";
$target = "";
if (get_is_dir($dir, $item)) {
$img = "dir.gif";
$link = make_link("list", get_rel_item($dir, $item), NULL);
} else {
$img = get_mime_type($dir, $item, "img");
$link = make_link("download", $dir, $item);
}
echo "<TR><TD>" . "<IMG border=\"0\" width=\"16\" height=\"16\" ";
echo "align=\"ABSMIDDLE\" src=\"_img/" . $img . "\" ALT=\"\"> ";
/*if($link!="")*/
echo "<A HREF=\"" . $link . "\" TARGET=\"" . $target . "\">";
//else echo "<A>";
echo $s_item . "</A></TD><TD><A HREF=\"" . make_link("list", $dir, NULL) . "\"> /";
echo $s_dir . "</A></TD></TR>\n";
}
}