commands.php
上传用户:wlfwy2004
上传日期:2016-12-12
资源大小:33978k
文件大小:5k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. <?php 
  2. /*
  3.  * FCKeditor - The text editor for internet
  4.  * Copyright (C) 2003-2005 Frederico Caldeira Knabben
  5.  * 
  6.  * Licensed under the terms of the GNU Lesser General Public License:
  7.  *  http://www.opensource.org/licenses/lgpl-license.php
  8.  * 
  9.  * For further information visit:
  10.  *  http://www.fckeditor.net/
  11.  * 
  12.  * File Name: commands.php
  13.  *  This is the File Manager Connector for PHP.
  14.  * 
  15.  * File Authors:
  16.  *  Frederico Caldeira Knabben (fredck@fckeditor.net)
  17.  */
  18. function GetFolders( $resourceType, $currentFolder )
  19. {
  20. // Map the virtual path to the local server path.
  21. $sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
  22. // Open the "Folders" node.
  23. echo "<Folders>" ;
  24. $oCurrentFolder = opendir( $sServerDir ) ;
  25. while ( $sFile = readdir( $oCurrentFolder ) )
  26. {
  27. if ( $sFile != '.' && $sFile != '..' && is_dir( $sServerDir . $sFile ) )
  28. echo '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
  29. }
  30. closedir( $oCurrentFolder ) ;
  31. // Close the "Folders" node.
  32. echo "</Folders>" ;
  33. }
  34. function GetFoldersAndFiles( $resourceType, $currentFolder )
  35. {
  36. // Map the virtual path to the local server path.
  37. $sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
  38. // Initialize the output buffers for "Folders" and "Files".
  39. $sFolders = '<Folders>' ;
  40. $sFiles = '<Files>' ;
  41. $oCurrentFolder = opendir( $sServerDir ) ;
  42. while ( $sFile = readdir( $oCurrentFolder ) )
  43. {
  44. if ( $sFile != '.' && $sFile != '..' )
  45. {
  46. if ( is_dir( $sServerDir . $sFile ) )
  47. $sFolders .= '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
  48. else
  49. {
  50. $iFileSize = filesize( $sServerDir . $sFile ) ;
  51. if ( $iFileSize > 0 )
  52. {
  53. $iFileSize = round( $iFileSize / 1024 ) ;
  54. if ( $iFileSize < 1 ) $iFileSize = 1 ;
  55. }
  56. $sFiles .= '<File name="' . ConvertToXmlAttribute( $sFile ) . '" size="' . $iFileSize . '" />' ;
  57. }
  58. }
  59. }
  60. echo $sFolders ;
  61. // Close the "Folders" node.
  62. echo '</Folders>' ;
  63. echo $sFiles ;
  64. // Close the "Files" node.
  65. echo '</Files>' ;
  66. }
  67. function CreateFolder( $resourceType, $currentFolder )
  68. {
  69. $sErrorNumber = '0' ;
  70. $sErrorMsg = '' ;
  71. if ( isset( $_GET['NewFolderName'] ) )
  72. {
  73. $sNewFolderName = $_GET['NewFolderName'] ;
  74. // Map the virtual path to the local server path of the current folder.
  75. $sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
  76. if ( is_writable( $sServerDir ) )
  77. {
  78. $sServerDir .= $sNewFolderName ;
  79. $sErrorMsg = CreateServerFolder( $sServerDir ) ;
  80. switch ( $sErrorMsg )
  81. {
  82. case '' :
  83. $sErrorNumber = '0' ;
  84. break ;
  85. case 'Invalid argument' :
  86. case 'No such file or directory' :
  87. $sErrorNumber = '102' ; // Path too long.
  88. break ;
  89. default :
  90. $sErrorNumber = '110' ;
  91. break ;
  92. }
  93. }
  94. else
  95. $sErrorNumber = '103' ;
  96. }
  97. else
  98. $sErrorNumber = '102' ;
  99. // Create the "Error" node.
  100. echo '<Error number="' . $sErrorNumber . '" originalDescription="' . ConvertToXmlAttribute( $sErrorMsg ) . '" />' ;
  101. }
  102. function FileUpload( $resourceType, $currentFolder )
  103. {
  104. $sErrorNumber = '0' ;
  105. $sFileName = '' ;
  106. if ( isset( $_FILES['NewFile'] ) && !is_null( $_FILES['NewFile']['tmp_name'] ) )
  107. {
  108. $oFile = $_FILES['NewFile'] ;
  109. // Map the virtual path to the local server path.
  110. $sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ;
  111. // Get the uploaded file name.
  112. $sFileName = $oFile['name'] ;
  113. $sOriginalFileName = $sFileName ;
  114. $sExtension = substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) ) ;
  115. $sExtension = strtolower( $sExtension ) ;
  116. global $Config ;
  117. $arAllowed = $Config['AllowedExtensions'][$resourceType] ;
  118. $arDenied = $Config['DeniedExtensions'][$resourceType] ;
  119. if ( ( count($arAllowed) == 0 || in_array( $sExtension, $arAllowed ) ) && ( count($arDenied) == 0 || !in_array( $sExtension, $arDenied ) ) )
  120. {
  121. $iCounter = 0 ;
  122. while ( true )
  123. {
  124. $sFilePath = $sServerDir . $sFileName ;
  125. if ( is_file( $sFilePath ) )
  126. {
  127. $iCounter++ ;
  128. $sFileName = RemoveExtension( $sOriginalFileName ) . '(' . $iCounter . ').' . $sExtension ;
  129. $sErrorNumber = '201' ;
  130. }
  131. else
  132. {
  133. move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ;
  134. if ( is_file( $sFilePath ) )
  135. {
  136. $oldumask = umask(0) ;
  137. chmod( $sFilePath, 0777 ) ;
  138. umask( $oldumask ) ;
  139. }
  140. break ;
  141. }
  142. }
  143. }
  144. else
  145. $sErrorNumber = '202' ;
  146. }
  147. else
  148. $sErrorNumber = '202' ;
  149. echo '<script type="text/javascript">' ;
  150. echo 'window.parent.frames["frmUpload"].OnUploadCompleted(' . $sErrorNumber . ',"' . str_replace( '"', '\"', $sFileName ) . '") ;' ;
  151. echo '</script>' ;
  152. exit ;
  153. }
  154. ?>