用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - php代码库

web版ftp工具 phpWebFTP

2013-06-30 作者: 免费源代码下载整理举报

[php]代码库

<?php
	session_start();

	include('config.inc.php'); //load configuration
	include("include/functions.inc.php");
	include("include/ftp.class.php");

	// Report simple running errors
	//error_reporting(E_ERROR | E_WARNING | E_PARSE);
	error_reporting(E_ERROR | E_PARSE);
	//error_reporting(E_ALL);

	/* 
	 * check availability of tar, zip, bzip2 and gzip
	 */

	// zip
	exec("which unzip", $unzipLocation, $retVal);

	if (preg_match("/unzip$/", $unzipLocation[0])) {
		$uncompress["zip"] = $unzipLocation[0];
	}


	// tar
	exec("which tar", $tarLocation, $retVal);

	if (preg_match("/tar/", $tarLocation[0])) {
		$uncompress["tar"] = $tarLocation[0] . " xf";
	}

	// gz
	exec("which gunzip", $gunzipLocation, $retVal);

	if (preg_match("/gunzip$/", $gunzipLocation[0])) {

		// tar.gz
		if (preg_match("/tar/", $tarLocation[0])) {
			$uncompress["tar.gz"] = $tarLocation[0] . " xzf";
			$uncompress["tgz"] = $tarLocation[0] . " xzf";
		}

		$uncompress["gz"] = $gunzipLocation[0];
	}

	// bz2
	exec("which bunzip2", $bunzip2Location, $retVal);

	if (preg_match("/bunzip2$/", $bunzip2Location[0])) {

		// tar.bz2
		if (preg_match("/tar$/", $tarLocation[0])) {
			$uncompress["tar.bz2"] = $tarLocation[0] . " xjf";
		}

		$uncompress["bz2"] = $bunzip2Location[0];
	}


	//Procedure for emptying the tmp directory
	if($clearTemp==true)
	{
        deleteRecursive($downloadDir, false);
	}

	// Get the POST and SESSION variables (if register_globals=off (PHP4.2.1+))
	/*
	$goPassive=(isset($_POST['goPassive']))?$_POST['goPassive']:$_GET['goPassive'];
	*/
    if (isset($_POST['goPassive'])) {
	    $goPassive=$_POST['goPassive'];
    }

	if (isset($_POST['mode'])) {
		$ftpMode = $_POST['mode'];
    }

	if (isset($_POST['actionType'])) {
	    $actionType=$_POST['actionType'];
    }

	if (isset($_POST['currentDir'])) {
	    $currentDir=stripSlashes($_POST['currentDir']);
    } else {
		$currentDir="";
	}
    
    if (isset($_POST['file'])) {
	    $file=$_POST['file'];
	    $file=StripSlashes($file);
	}

    if (isset($_POST['file2'])) {
	    $file2=$_POST['file2'];
	    $file2=StripSlashes($file2);
    }

    if (isset($_POST['permissions'])) {
	    $permissions=$_POST['permissions'];
    }

    if (isset($_POST['directory'])) {
	    $directory=$_POST['directory'];
    }

    if (isset($_POST['fileContent'])) {
	    $fileContent=$_POST['fileContent'];
    }

	if (
		($disableLoginScreen == false) &&
		isset($_POST['user'])
	) 
	{
		// we dont care if we are already logged or not in case user provides
		// login information. That allows relogging in without explicitly
		// loging out, eg with the "back" button.
		if ($editDefaultServer)
			$_SESSION['server']=$_POST['server'];
		else
			$_SESSION['server']=$defaultServer;

		if (isset($_POST['user'])) {
			$_SESSION['user']=$_POST['user'];
		}

		if (isset($_POST['password'])) {
			$_SESSION['password']=$_POST['password'];
		}

		if (isset($_POST['language'])) {
			$_SESSION['language']=$_POST['language'];
		}

		if (isset($_POST['port'])) {
			$_SESSION['port']=$_POST['port'];
		}

		if (isset($_POST['passive'])) {
			$_SESSION['passive']=$_POST['passive'];
		}
	}

	if (isset($actionType) and $actionType=="logoff")
	{
		unset($_SESSION['server']);
		unset($_SESSION['user']);
		unset($_SESSION['password']);
		unset($_SESSION['port']);
		unset($_SESSION['passive']);
		session_destroy();

		if ($disableLoginScreen) {
?>
<script type="text/javascript">
				window.close();
			</script>
<?
		}
	}

    if (isset($_SESSION['server'])) {
	    $server=$_SESSION['server'];
	}

    if (isset($_SESSION['user'])) {
	    $user=$_SESSION['user'];
    }

    if (isset($_SESSION['password'])) {
	    $password=$_SESSION['password'];
    }

    if (isset($_SESSION['language'])) {
	    $language=$_SESSION['language'];
    }

    if (isset($_SESSION['port'])) {
	    $port=$_SESSION['port'];
    }

    if (isset($_SESSION['passive'])) {
	    $passive=$_SESSION['passive'];
    } else {
		$passive = false;
	}

	// If language is not yet set, check the default language or try to get the language from your browser.

    $validLanguage = false;
	if(!isset($language) or $language==""){
		if ($defaultLanguage !="") {
			$language = $defaultLanguage ;
			if(file_exists("include/language/" . $languages[$language] . ".lang.php")) {
                $validLanguage = true;
            }
		} else {
			$browser_lang = getenv("http_accept_language");
			$tmplang = $languages[$browser_lang];
			if(file_exists("include/language/" . $tmplang . ".lang.php")) {
				$language = $tmplang;
			} else {
				$language = "english";
			}
			$validLanguage=true;
		}
	} else {
		//Check if the language is a valid language
		foreach($languages as $langid=>$thisLanguage) {
			if($langid==$language) {
				$validLanguage=true;
			}
		}
	}

	//Include Language file
	if($validLanguage) {
		include("include/language/" . $languages[$language] . ".lang.php");   // Selected language
	} else {
		die("Invalid language entered. Exiting script");
	}

	if (isset($server) && $server!="")
	{
		$ftp = new ftp($server, $port, $user, $password, $passive);

		if (isset($_SESSION["ftpmode"])) {
			$ftp->setMode($_SESSION["ftpmode"]);
		}
		$ftp->setCurrentDir($currentDir);

		// set some default values as defined in config.inc.php
		$ftp->setResumeDownload($resumeDownload);
		$ftp->setDownloadDir($downloadDir);

		if ($ftp->loggedOn)
		{
			$msg = $ftp->getCurrentDirectoryShort();
			// what to do now ???
			if(isset($actionType)) 
			{
				switch ($actionType) 
				{
			 		case "changemode":
						$_SESSION["ftpmode"] = $ftpMode;
						$ftp->setMode($_SESSION["ftpmode"]);
						break;
					case "chmod":	// Change permissions
						if($ftp->chmod($permissions, $file)){
							$msg = $lblFilePermissionChanged;
						} else {
							$msg = $lblCouldNotChangePermissions;
						}
						break;
					case "cd":			// Change directory
						$ftp->cd($file);
						$msg = /*$lblndexOf .*/ $ftp->getCurrentDirectoryShort();
						break;
					case "get":			// Download file
						$ftp->download($file) or DIE($lblErrorDownloadingFile);
						break;
					case "put":			// Upload file

						$fileObject = $_FILES['file'];

						if($fileObject['size'] <= $maxFileSize) {
							if (isset($_POST["putunzip"])) {
								$file = $fileObject["name"];
								$tmpfile = $fileObject["tmp_name"];
								copy($fileObject["tmp_name"], $ftp->downloadDir . "/" . $file);

								// 1. check if file is unzippable
								// 2. unzip file
								// 3. clean up
								set_time_limit(30); //for big archives
								$dir = $ftp->downloadDir . $ftp->userDir . "/";  

								// 2. mkdir
								mkdir($dir);
								chdir($dir);

								// 3. unzip
								$cmd = false;

								foreach ($uncompress as $key=>$value) {
									if (!$cmd and preg_match("/\.$key$/", $file)) {
										$dir = preg_replace("/\.$key$/", "", $file);
										$cmd = $value;
									}
								}

								// 4. recursive upload

								if ($cmd) {
									mkdir($dir);
									chdir($dir);
									`$cmd ../../$file`;
									chdir("..");
									$ftp->putRecursive($dir);
								} else {
									$msg = "bestandstype wordt niet ondersteund.";
									$ftp->upload($fileObject);
								}
							} else {
								if(!$ftp->upload($fileObject)) {
									$msg = $lblFileCouldNotBeUploaded;
								}
							}
						} else {
							$msg = "<B>" . $lblFileSizeTooBig . "</B> (max. " . $maxFileSize . " bytes)<P>";
						}
						break;
					case "deldir";		// Delete directory
						$ftp->deleteRecursive($file);
						break;
					case "delfile";		// Delete file
						$ftp->deleteFile($file);
						break;
					case "rename";		// Rename file
						if($ftp->rename($file, $file2))	{
							$msg = $file . " " . $lblRenamedTo . " " . $file2;
						} else {
							$msg = $lblCouldNotRename . " " . $file . " " . $lblTo . " " . $file2;
						}
						break;
					case "createdir":  // Create a new directory
						if($ftp->makeDir($file)) {
							$msg = $file . " " . $lblCreated;
						} else {
							$msg = $lblCouldNotCreate . " " . $file;
						}
						break;
					case "edit":
						//First download the file to the server
						$ftp->get($file);

						//Now open the content of the file in an edit window
						// ToDo: separate file, html editor.
					?>
<?///BEGIN EDITOR///?>
<?
echo <<<XML
<?xml version="1.0" encoding="UTF-8"?>
XML;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
			<head>
			<title>phpWebFTP
            <?=$currentVersion;?>
            By Edwin van Wijk</title>
			<link rel="stylesheet" href="style/cm.css" title=contemporary type="text/css"/>
			<script type="text/javascript" src="include/script.js"></script>
			<?
		if (
			preg_match("/\.htm$/", $file)
			||
			preg_match("/\.html$/", $file)
		) 
		{
?>
			<script type="text/javascript" src="include/fckeditor/fckeditor.js"></script>
			<script type="text/javascript">

			window.onload = function()
			{
				// Automatically calculates the editor base path based on the _samples directory.
				// This is usefull only for these samples. A real application should use something like this:
				// oFCKeditor.BasePath = '/fckeditor/' ;	// '/fckeditor/' is the default value.
				var oFCKeditor = new FCKeditor( 'fileContent' ) ;
				oFCKeditor.BasePath = 'include/fckeditor/' ;
				oFCKeditor.Height	= 500 ;
				oFCKeditor.ReplaceTextarea() ;
			}

			</script>
			<?
		}
?>
			</head>
			<body>
            <form method="post" name="editFileForm" action="<?=$_SERVER["PHP_SELF"];?>">
              <table cellpadding="0" cellspacing="0" width="100%">
                <tr>
                  <td valign="top"><table border="0" cellpadding="2" cellspacing="0" width="100%">
                      <tr>
                      <td class="titlebar" colspan="3"><b>phpWebFTP
                        <?=$lblVersion;?>
                        <?=$currentVersion;?>
                        </b></td>
                    </tr>
                      <tr>
                      <td class="menu"><?
									$newMode=($ftp->mode==1)?0:1;

									if($ftp->loggedOn) 
									{
?>
                          <table cellpadding="0" cellspacing="0">
                          <tr>
                              <td><div class="toolbarButton" onClick="cancelEditFile();">
                                  <table border="0">
                                  <tr>
                                      <td><img src="img/back.gif" border="0" alt=""/></td>
                                      <td>&nbsp;Terug
                                      <?//$lblChangeMode;?></td>
                                    </tr>
                                </table>
                                </div></td>
                              <td><div class="toolbarButton" onClick="document.editFileForm.submit();">
                                  <table border="0">
                                  <tr>
                                      <td><img src="img/save.gif" border="0" alt=""/></td>
                                      <td> Opslaan en afsluiten </td>
                                    </tr>
                                </table>
                                </div></td>
                              <td align="right" width="100%"> Edit
                              <?=directoryPath($ftp->currentDir, $server);?>
                              <?=$file;?></td>
                            </tr>
                        </table>
                          <?
									} 
									else 
									{ 
?>
                          <table cellpadding="0" cellspacing="0">
                          <tr>
                              <td valign="middle">&nbsp;<a class="menu" href="javascript:logOff()"><img src="img/logoff.gif" height="24" border="0" align="middle" alt=""/></a></td>
                              <td valign="middle">&nbsp;<a class="menu" href="javascript:logOff()">
                                <?=$lblRetry;?>
                                </a></td>
                            </tr>
                        </table>
                          <?
									} 
?></td>
                    </tr>
                    </table></td>
                </tr>
                <tr>
                  <td valign="top"><?
						$content = file_get_contents($ftp->downloadDir . $file);
						$content = htmlspecialchars($content, ENT_QUOTES);
?>
                    <textarea name="fileContent" rows="30" cols="80" style="width: 100%; height: 500px;"><?=$content?>
</textarea>
                    <input type="hidden" name="actionType" value="saveFile"/>
                    <input type="hidden" name="currentDir" value="<?=$ftp->currentDir;?>"/>
                    <input type="hidden" name="file" value="<?=$file;?>"/>
                    <input type="hidden" name="mode" value="<?=$ftp->mode;?>"/></td>
                </tr>
              </table>
            </form>
</body>
</html>
<?///END EDITOR///?>
<?
						unlink($ftp->downloadDir . $file);
						exit;
						break;
					case "saveFile":
						//Write content of fileContent to tempFile
						$tempFile = "tmpFile.txt";
						$fp = fopen($ftp->downloadDir . $tempFile, "w+t");
						if ($bytes=!fwrite($fp, stripslashes($fileContent))) {
							$msg = $lblFileCouldNotBeUploaded;
						}
						fclose($fp);

						//Upload the file to the server
						if(!$ftp->put($ftp->currentDir . "/" . filePart(StripSlashes($file)),$ftp->downloadDir . $tempFile)) $msg = $lblFileCouldNotBeUploaded;

						//Delete temporary file
						unlink($ftp->downloadDir . $tempFile);
						break;

					case "getzip":
						set_time_limit(30); //for big archives
						$zipfile = $file . ".zip";

						// a directory for every user, just in case...
						$dir = $ftp->downloadDir . $ftp->userDir . "/";  

						header("Content-disposition: attachment; filename=\"$zipfile\"");
						header("Content-type: application/octetstream");
						header("Pragma: ");
						header("Cache-Control: cache");
						header("Expires: 0");

						$zipfile = $ftp->downloadDir . $zipfile;

						//Create temporary directory 
						mkdir($dir);

						//Get entire directory and store to temporary directory
						$ftp->getRecursive($ftp->currentDir, $file);

						//zip the directory
						$zip = new ss_zip('',6); 
						$zip->zipDirTree($dir, $dir);
						$zip->save($zipfile);

						//send zipfile to the browser
						$filearray = explode("/",$zipfile);
						$file = $filearray[sizeof($filearray)-1];

						$data = readfile($zipfile);
						$i=0;
						while ($data[$i] != "")
						{
							echo $data[$i];
							$i++;
						}

						//Delete zip file
						unlink($zipfile);

						//Delete downloaded files from user specific directory
						deleteRecursive($dir);
						exit;
						break;
					case "unzip": // BK20061114
						set_time_limit(30); //for big archives
						$dir = $ftp->downloadDir . $ftp->userDir . "/";  

						// 1. download
						$ftp->get($file);

						// 2. mkdir
						mkdir($dir);
						chdir($dir);

						// 3. unzip
						$cmd = false;

						foreach ($uncompress as $key=>$value) {
							if (!$cmd and preg_match("/\.$key$/", $file)) {
								$dir = preg_replace("/\.$key$/", "", $file);
								$cmd = $value;
							}
						}

						// 4. recursive upload
						if ($cmd) {
							mkdir($dir);
							chdir($dir);
							`$cmd ../../$file`;
							chdir("..");
							$ftp->putRecursive($dir);
						}
				}
			}
?>
<?///BEGIN FILE MANAGER///?>
<?
echo <<<XML
<?xml version="1.0" encoding="UTF-8"?>
XML;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
		<head>
		<title>phpWebFTP
        <?=$currentVersion;?>
        By Edwin van Wijk</title>
		<link rel="stylesheet" href="style/cm.css" title="Contemporary" type="text/css"/>
		<style type="text/css">
body {
	background-color: white;
	background-image: url(img/menubg.gif);
	background-repeat: repeat-y;
}
</style>
		<script type="text/javascript">
			// variables for javascript
			var currentUser = "<?=$_SESSION["user"]?>";
			var dir = "<?=$ftp->currentDir;?>";
			var uncompress = new Array();
<?
			$uc = 0;
			foreach ($uncompress as $key=>$value) {
?>
				uncompress[<?=$uc++?>] = "<?=$key?>";
<?
			}
?>
			var ucNum = <?=$uc?>;

			/*
				strip public_html or www from dirname (for file view);
				for use within hosting management systems
			*/
			var site = "<?=$server?>";
			dir = dir.replace(/^\/www\/?/, "");
			dir = dir.replace(/^\/public_html\/?/, "");
		</script>
		<script type="text/javascript" src="include/script.js"></script>
		</head>
		<body>
        <table cellpadding="0" cellspacing="0" style="height:100%;width:100%;">
          <tr>
            <td><table width="100%" border="0" cellspacing="0" cellpadding="2">
                <tr>
                <td class="titlebar"><b>phpWebFTP
                  <?=$lblVersion;?>
                  <?=$currentVersion;?>
                  </b></td>
              </tr>
              </table>
              <table border="0" cellpadding="0" cellspacing="0" width="100%">
                <tr>
                  <?
							$newMode=($ftp->mode==1)?0:1;
							if($ftp->loggedOn) 
							{
?>
                  <td class="menu"><table border="0">
                      <tr>
                      <td><div class="toolbarButton" onClick="submitForm('cd', '..');">
                          <table border="0">
                          <tr>
                              <td><img src="img/parent.gif" border="0" alt=""/></td>
                              <td><?=$lblUp?></td>
                            </tr>
                        </table>
                        </div></td>
                      <td><div class="toolbarButton" onClick="changeMode('<?=$newMode?>');">
                          <table border="0">
                          <tr>
                              <td><img src="img/mode.gif" border="0" alt=""/></td>
                              <td><?=$lblChangeMode?></td>
                            </tr>
                        </table>
                        </div></td>
                      <td><div class="toolbarButton" onClick="logOff();">
                          <table border="0">
                          <tr>
                              <td><img src="img/logoff.gif" border="0" alt=""/></td>
                              <td><?=$lblLogOff?></td>
                            </tr>
                        </table>
                        </div></td>
                    </tr>
                    </table></td>
                  <td colspan="6" class="menu" width="100%" valign="middle" align="right"><?=directoryPath($ftp->currentDir, $server);?></td>
                  <?
							} 
							else 
							{ 
	?>
                  <td class="menu"><table border="0">
                      <tr>
                      <td><div class="toolbarButton" onClick="logOff();">
                          <table border="0">
                          <tr>
                              <td><img src="img/parent.gif" border="0" alt=""/></td>
                              <td><?=$lblRetry?></td>
                            </tr>
                        </table>
                        </div></td>
                    </tr>
                    </table></td>
                  <?
							}
?>
                </tr>
              </table></td>
          </tr>
          <tr>
            <td style="height:100%;width:100%;"><div style="display:none;">
                <form name="actionform" method="post" action="<?=$_SERVER["PHP_SELF"];?>" enctype="multipart/form-data">
                <input type="hidden" name="actionType" value=""/>
                <input type="hidden" name="delaction" value=""/>
                <input type="hidden" name="currentDir" value="<?=$ftp->currentDir;?>"/>
                <input type="hidden" name="file" value=""/>
                <input type="hidden" name="file2" value=""/>
                <input type="hidden" name="extension" value=""/>
                <input type="hidden" name="permissions" value=""/>
                <input type="hidden" name="mode" value="<?=$ftp->mode;?>"/>
              </form>
              </div>
              <table style="height:100%;width:100%;" border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td class="leftmenu" valign="top"><img src="img/1px.gif" width="212" height="1">
                    <div align="center"> <br/>
                      <!-- File and folder -->
                      <table border="0" cellspacing="0" cellpadding="0" class="item">
                        <tr>
                          <td valign="top" class="itemheadContainer"><div class="itemhead">
                              <?=$lblFileTasks;?>
                            </div></td>
                        </tr>
                        <tr>
                          <td valign="top" class="leftmenuitem"><table id="action_delete" border="0" cellspacing="0" cellpadding="0" style="display:none;">
                              <!-- Delete File -->
                              <tr>
                              <td valign="middle"><img src="img/menu_delete.gif" alt=""/></td>
                              <td valign="middle"><a href='javascript:deleteFile()' class=leftmenulink>
                                <?=$lblDeleteFile;?>
                                </A></td>
                            </tr>
                            </table>
                            <table id="action_zipdl" style="display:none;" border="0" cellspacing="0" cellpadding="0">
                              <!-- zip&download directory -->
                              <tr>
                                <td valign="middle"><img src="img/zip.gif" alt=""/></td>
                                <td valign="middle"><a href='javascript:zipFile()' class=leftmenulink>
                                  <?="download";?>
                                  </A></td>
                              </tr>
                            </table>
                            <table id="action_unzip" style="display:none;" border="0" cellspacing="0" cellpadding="0">
                              <!-- unzip to <filename>/ -->
                              <tr>
                                <td valign="middle"><img src="img/zip.gif" alt=""/></td>
                                <td valign="middle"><a href='javascript:unzipFile()' class="leftmenulink" id="unzipto">
                                  <?="unzip";?>
                                  </A></td>
                              </tr>
                            </table>
                            
                            <!-- View file on http server -->
                            
                            <table id="action_view" style="display:none;" border="0" cellspacing="0" cellpadding="0">
                              <tr>
                                <td valign=center><img src="img/menu_edit.gif" alt=""/></td>
                                <td valign=center><a href='javascript:viewFile()' class=leftmenulink>View
                                  <?//$lblEditFile;?>
                                  </A></td>
                              </tr>
                            </table>
                            <table id="action_edit" style="display:none;" border="0" cellspacing="0" cellpadding="0">
                              <!-- edit file 
													Only if $user is allowed to edit the file.
													-->
                              <tr>
                                <td valign="middle"><img src="img/menu_edit.gif" alt=""/></td>
                                <td valign="middle"><a href='javascript:editFile()' class=leftmenulink>
                                  <?=$lblEditFile;?>
                                  </A></td>
                              </tr>
                            </table>
                            <table id="action_rename" style="display:none;" border="0" cellspacing="0" cellpadding="0">
                              
                              <!-- rename file 
													Only if $user is allowed to rename the file
													-->
                              <tr>
                                <td VALIGN=top><img src="img/menu_rename.gif" alt=""/></td>
                                <td VALIGN=top><a href='javascript:setNewFileName()' class=leftmenulink>
                                  <?=$lblRename;?>
                                  </A> 
                                  <!-- Rename file -->
                                  
                                  <DIV ID='renameFileEntry' style='display:none;'>
                                    <form NAME=renameFile>
                                      <table border="0" cellpadding="0" cellspacing="0" class=lined align=center>
                                        <tr>
                                          <td class=tinyblue><B>
                                            <?=$lblNewName;?>
                                            </B><br/>
                                            <input type="text" name="newName" value=""/></td>
                                        </tr>
                                      </table>
                                      <br/>
                                      <div align=center>
                                        <input type=button onclick='renameItem();' value='<?=$lblRename;?>'/>
                                      </div>
                                    </form>
                                    <br/>
                                  </div></td>
                              </tr>
                            </table>
                            <table id="action_permissions" style="display:none;" border="0" cellspacing="0" cellpadding="0">
                              
                              <!-- permissions 
													Only if $user is allowed to edit the permissions 
													-->
                              <tr>
                                <td valign="top"><img src="img/menu_settings.gif" alt=""/></td>
                                <td valign="top"><a href="javascript:;" onClick="setPermissions()" class="leftmenulink">
                                  <?=$lblSetPermissions;?>
                                  </a> 
                                  <!-- Change permissions -->
                                  
                                  <div id="setPermissions" style="display:none;">
                                    <form name=permissions>
                                      <table border="0" cellpadding="0" cellspacing="0" class="lined" align="center">
                                        <tr>
                                          <td class="tinyblue" align="center"><b>
                                            <?=$lblOwner;?>
                                            </b></td>
                                          <td class="tiny" align="center"><b>
                                            <?=$lblGroup;?>
                                            </b></td>
                                          <td class="tinywhite" align="center"><b>
                                            <?=$lblPublic;?>
                                            </b></td>
                                        </tr>
                                        <tr>
                                          <td class="tinyblue"><input type="checkbox" name="iOr"/>
                                            <?=$lblRead;?></td>
                                          <td class="tiny"><input type="checkbox" name="iGr"/>
                                            <?=$lblRead;?></td>
                                          <td class="tinywhite"><input type="checkbox" name="iPr"/>
                                            <?=$lblRead;?></td>
                                        </tr>
                                        <tr>
                                          <td class="tinyblue"><input type="checkbox" name="iOw"/>
                                            <?=$lblWrite;?></td>
                                          <td class="tiny"><input type="checkbox" name="iGw"/>
                                            <?=$lblWrite;?></td>
                                          <td class="tinywhite"><input type="checkbox" name="iPw"/>
                                            <?=$lblWrite;?></td>
                                        </tr>
                                        <tr>
                                          <td class="tinyblue"><input type="checkbox" name="iOx"/>
                                            <?=$lblExecute;?></td>
                                          <td class="tiny"><input type="checkbox" name="iGx"/>
                                            <?=$lblExecute;?></td>
                                          <td class="tinywhite"><input type="checkbox" name="iPx"/>
                                            <?=$lblExecute;?></td>
                                        </tr>
                                      </table>
                                      <br/>
                                      <div align="center">
                                        <input type="button" onClick="changePermissions()" value="<?=$lblSetPermissions;?>"/>
                                      </div>
                                    </form>
                                    <br/>
                                  </div></td>
                              </tr>
                            </table>
                            
                            <!-- Standaard actions -->
                            
                            <table border="0" cellspacing="0" cellpadding="0">
                              <tr>
                                <td VALIGN=top><img src="img/upload.gif" border="0" alt=""/></td>
                                <td VALIGN=top><a href="JavaScript:toggle('uploadform');" class=leftmenulink>
                                  <?=$lblUploadFile;?>
                                  </A>
                                  <form id="uploadform" style="display:none;" name="uploadform" enctype="multipart/form-data" method="post" action="<?=$_SERVER["PHP_SELF"];?>">
                                    <input type="hidden" name="actionType" value="put"/>
                                    <input type='hidden' name='currentDir' value='<?=$ftp->currentDir;?>'/>
                                    <input type='hidden' name='mode' value='<?=$ftp->mode;?>'/>
                                    <input type="file" name="file" size="8" style="width:100px; font-size:7pt;" onChange='/*document.uploadform.submit();*/'/>
                                    <br/>
                                    <input type="checkbox" name="putunzip"/>
                                    <?=$lblCompressedFolder?>
                                    <input type="submit" value="Ok" style='width=150px; font-size:7pt;'/>
                                  </form></td>
                              </tr>
                              <tr>
                                <td valign="top"><img src="img/createdir.gif" border="0" alt=""/></td>
                                <td valign="top"><a href="JavaScript:toggle('createform');" class=leftmenulink>
                                  <?=$lblCreateDirectory;?>
                                  </A>
                                  <form id="createform" style='display:none;' method=post name='dirinput' action="<?=$_SERVER["PHP_SELF"];?>">
                                    <input type="text" name="directory" value="" style="width:100px; font-size:7pt;"/>
                                    <input type="button" value="Ok" onClick="javascript:createDirectory(dirinput.directory.value)" style="width:40px; font-size:7pt;"/>
                                  </form></td>
                              </tr>
                              <tr>
                                <td valign="top"><img src="img/gotodir.gif" border="0" alt=""/></td>
                                <td valign="top"><a href="JavaScript:toggle('gotoform');" class="leftmenulink">
                                  <?=$lblGoToDirectory;?>
                                  </a>
                                  <form id="gotoform" style="display:none;" name="cdDirect" method="post" action="<?=$_SERVER["PHP_SELF"];?>">
                                    <input type='hidden' name='actionType' value='cd'/>
                                    <input type='hidden' name='currentDir' value='<?=$ftp->currentDir;?>'/>
                                    <input type="text" name="file" value="" style="width:100px; font-size:7pt;"/>
                                    <input type="submit" value="Ok" style="width:40px; font-size:7pt;"/>
                                  </form></td>
                              </tr>
                            </table></td>
                        </tr>
                      </table>
                      <br/>
                      <br/>
                      <!-- Details -->
                      <table border="0" cellpadding="0" cellspacing="0" class="item">
                        <tr>
                          <td valign="top" class="itemheadContainer"><div class="itemhead">
                              <?=$lblDetails;?>
                            </div></td>
                        </tr>
                        <tr>
                          <td valign="top" class=leftmenuitem style='color:black' ><br/>
                            <div style="width:170px;overflow:hidden;"> <B>
                              <?=$msg;?>
                              </B>
                              <P>
                                <?=($ftp->loggedOn)?"$lblConnectedTo  $server:$port ($ftp->systype)":$lblNotConnected;?>
                              
                              <P>
                                <?=$lblTransferMode;?>
                                :
                                <?=$ftp->mode==1?$lblBinaryMode:$lblASCIIMode;?>
                                <br/>
                                <br/>
                            </div></td>
                        </tr>
                      </table>
                    </div></td>
                  <td valign="top"><div id="filelist">
                      <table width="100%" border="0" cellspacing="0" cellpadding="0" onclick='resetEntries()'>
                      <tr>
                          <td colspan="2" class="listhead"><?=$lblName;?></td>
                          <td class="listhead" align="right"><?=$lblSize;?>
                          &nbsp;</td>
                          <td class="listhead"><?=$lblFileType;?>
                          &nbsp;</td>
                          <td class="listhead"><?=$lblDate;?></td>
                          <td class="listhead"><?=$lblPermissions;?></td>
                          <td class="listhead"><?=$lblOwner;?></td>
                          <td class="listhead"><?=$lblGroup;?></td>
                        </tr>
                      <?
										$list = $ftp->ftpRawList();

										if (is_array($list))
										{
											// Directories
											$counter=0;

											foreach($list as $myDir)
											{
												if ($myDir["is_dir"]==1)
												{
													$fileAction = "cd";
													$fileName = $myDir["name"];
													$fileSize="";
													$delAction = "deldir";
													$fileType['description'] = 'File Folder';
													$fileType['imgfilename'] = 'folder.gif';
												}

												if ($myDir["is_link"]==1)
												{
													$fileAction = "cd";
													$fileName = $myDir["target"];
													$fileSize="";
													$delAction = "delfile";
													$fileType['description'] = 'Symbolic Link';
													$fileType['imgfilename'] = 'link.gif';
												}

												if ($myDir["is_link"]!=1 && $myDir["is_dir"]!=1)
												{
													$fileType = fileDescription($myDir["name"]);
													$fileAction = "get";
													$fileName = $myDir["name"];
													$image = "file.gif";
													if($myDir["size"]<1024) {
														$fileSize= $myDir["size"] . " bytes ";
															$fileSize=number_format($myDir["size"], 0, ',', '.') . " bytes";
													} else {
														if($myDir["size"]<1073741824) {
															$fileSize=number_format($myDir["size"]/1024, 0, ',', '.') . " KB";
														} else {
															$fileSize=number_format($myDir["size"]/1048576, 0, ',', '.') . " MB";
														}
													}

													
													$delAction = "delfile";
												}

												$escapedFileName = addslashes($fileName);
	?>
                      <tr>
                          <td class="filenamecol" width="20"><a href="javascript:selectEntry('<?=$fileAction?>','<?=$escapedFileName?>','filename<?=$counter?>','<?=addslashes($myDir["user"])?>','<?=$myDir["perms"]?>','<?=$delAction;?>')" onDblClick="submitForm('<?=$fileAction;?>','<?=$escapedFileName?>')"><img src="img/<?=$fileType['imgfilename'];?>" align="top" border="0" alt=""/></a></td>
                          <td class="filenamecol"><a class="filename" id='filename<?=$counter;?>' href="javascript:selectEntry('<?=$fileAction?>','<?=$escapedFileName?>','filename<?=$counter?>','<?=$myDir["user"]?>','<?=$myDir["perms"];?>','<?=$delAction;?>')" onDblClick="submitForm('<?=$fileAction;?>','<?=$escapedFileName?>')">
                            <?=$fileName;?>
                            </A></td>
                          <td class="listcol" align="right"><?=$fileSize;?></td>
                          <td class="listcol" align="left"><?=$fileType['description'];?></td>
                          <td class="listcol"><?=$myDir["date"];?></td>
                          <td class="listcol"><?=$myDir["perms"];?></td>
                          <td class="listcol"><?=$myDir["user"];?></td>
                          <td class="listcol"><?=$myDir["group"];?></td>
                        </tr>
                      <?
												$counter++;
											}
										} else {
?>
                      <tr>
                          <td colspan=14><b>
                            <?=$lblDirectoryEmpty;?>
                            ...</b></td>
                        </tr>
                      <?
										}
?>
                    </table>
                    </div></td>
                </tr>
              </table></td>
          </tr>
        </table>
</body>
</html>
<?///END FILE MANAGER///?>
<?
		}
		else
		{
			if(!isset($msg))
			{
				$msg = "$lblCouldNotConnectToServer  $server:$port $lblWithUser $user<p><a href='" . $_SERVER["PHP_SELF"] . "'>$lblTryAgain</A>";
				unset($_SESSION['server']);
				unset($_SESSION['user']);
				unset($_SESSION['password']);
				unset($_SESSION['port']);
				session_destroy();
			}
			print $msg;
		}
	}
	else // Still need to logon...
	{
		if ($disableLoginScreen == false) 
		{
?>
<?///BEGIN LOGIN SCREEN///?>
<?
echo <<<XML
<?xml version="1.0" encoding="UTF-8"?>
XML;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>phpWebFTP
<?=$currentVersion;?>
By Edwin van Wijk</title>
<link rel="stylesheet" href="style/cm.css" title="contemporary" type="text/css"/>
<script type="text/javascript" src="include/script.js"></script>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
    <td class="titlebar"><B>phpWebFTP
      <?=$lblVersion;?>
      <?=$currentVersion;?>
      </B></td>
  </tr>
  <tr>
    <td class="menu"><table cellpadding="0" cellspacing="0">
        <tr>
          <td valign="middle"><img src="img/1px.gif" height="24" border="0" align="middle" alt=""/></td>
          <td valign="middle">&nbsp;</td>
        </tr>
      </table></td>
  </tr>
</table>
<form name="login" action="<?=$_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data">
  <table class="login" cellpadding="3">
    <tr>
      <td colspan="3"><b>&nbsp;
        <?=$lblLogIn;?>
        </b></td>
    </tr>
    <tr>
      <td colspan="3"><img src="img/1px.gif" height="60" alt=""/></td>
    </tr>
    <tr>
      <td colspan="3">&nbsp;
        <?=$lblConnectToFTPServer;?></td>
    </tr>
    <tr>
      <td valign="top">&nbsp;
        <?=$lblServer;?></td>
      <td valign="top"><?php
							if($defaultServer == "") 
							{
?>
        <input type="text" name="server" size="15"/>
        &nbsp;
        <?
							} 
							else 
							{
								$inputType=($editDefaultServer==true)?"text":"hidden";
?>
        <input type="<?=$inputType?>" name="server" value="<?=$defaultServer?>">
        <?
								if($editDefaultServer==false) {
?>
        <b>
        <?=$defaultServer?>
        </b>&nbsp;
        <?
								}
							}
						?></td>
      <td valign="top"><table cellspacing="0">
          <tr>
            <td><?=$lblPort;?></td>
            <td><input type="text" name="port" size="3" value="21"/></td>
          </tr>
          <tr>
            <td><?=$lblPasive;?></td>
            <td><input type="checkbox" name="goPassive"/></td>
          </tr>
        </table></td>
    </tr>
    <tr>
      <td>&nbsp;
        <?=$lblUser;?></td>
      <td><input type="text" name="user" size="18"/></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td>&nbsp;
        <?=$lblPassword;?></td>
      <td><input type="password" name="password" size="18"/></td>
      <td><input type="submit" value="Log on"/></td>
    </tr>
    <?
				if($defaultLanguage == "") 
				{
?>
    <tr>
      <td>&nbsp;
        <?=$lblLanguage;?></td>
      <td colspan=2><select name="language">
          <?
								if ($handle = opendir('include/language/')) 
								{
									//Read file in directory and store them in an Array
									while (false !== ($file = readdir($handle))) 
									{
										$fileArray[$file] = $file;
									}
									//Sort the array
									ksort($fileArray);

									foreach($fileArray as $file) {
										if ($file != "." && $file != ".." ) {
											$file=str_replace(".lang.php","",$file);
											$counter=0;
											foreach($languages as $thislang)
											{
												if($thislang==$file)
												{
													$counter++;
												}
											}
											if($counter>0) {
												$langName=strtoupper(substr($file,0,1)) . substr($file,1);
?>
          <option value="<?=$file;?>" <?=($language==$file)?"selected=\"selected\"":"";?>>
          <?=$langName;?>
          </option>
          <?
											}

										}
									}
									closedir($handle);
								}
?>
        </select></td>
    </tr>
    <?
				}
?>
    <tr>
      <td colspan="2"><img src="img/1px.gif" height="5" alt=""/></td>
    </tr>
  </table>
  <table width="328">
    <tr>
      <td colspan="2" valign="top" class="leftmenuitem"><div style='font-size:7pt;'>
          <?=$lblDisclaimer;?>
          <br/>
          <br/>
          phpWebFTP
          <?=$lblVersion;?>
          <?=$currentVersion;?>
          <br/>
          &copy; 2002-2004, Edwin van Wijk,<br/>
          <a href="http://www.v-wijk.net" style='font-size:7pt;'>www.v-wijk.net</a> </div></td>
    </tr>
    <tr>
      <td align=left>&nbsp;</td>
      <td align=right>&nbsp;</td>
    </tr>
  </table>
</form>
</body>
</html>
<?///END LOGIN SCREEN///?>
<?
		} 
		else 
		{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
		<head>
		<title>Login disabled</title>
		<style type="text/css">
body {
	font-family: Verdana, sans-serif;
}
</style>
		</head>
		<body>
Manual login functionality is disabled by your provider. <a href="#" onClick="window.close();">Close window</a>
</body>
</html>
<?
		}
	}
?>

[源代码打包下载]




网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...