php 批量删除文件

 更新时间:2016年11月25日 16:01  点击:1654

php 批量删除文件
 elseif($doing == 'delfiles') {
  if ($dl) {
   $dfiles='';
   $succ = $fail = 0;
   foreach ($dl as $filepath => $value) {
    if (@unlink($filepath)) {
     $succ++;
    } else {
     $fail++;
    }
   }
   m('删除文件 '.count($dl).' 成功 '.$succ.' 失败 '.$fail);
  } else {
   m('请选择文件');
  }

  1. <?php   
  2. dd = new LampDb('localhost','root','2184237','note','utf8');   
  3. $sql = "select * from mynote";   
  4. $handle = $dd->query($sql);   
  5. $aa = $dd->fetchOneRow($handle);   
  6. print_r($aa);   
  7. echo "<hr />";   
  8. $ddd = $dd->fetchRows($handle);   
  9. for ($n=0; $n < count($ddd); $n++){   
  10. echo $ddd[$n]['id'] . "标题" . $ddd[$n]['subject'];   
  11. echo "<br />";   
  12. }   
  13. echo "<hr />";   
  14. echo "nums=" . $dd->fetchRowNums($handle);   
  15. ?>  
  16.  
  17. php   
  18. class LampDb   
  19. {   
  20. private $conn;   
  21. //连接数据库   
  22. function __construct($host,$user,$pass,$dbname,$charset)   
  23. {   
  24.   $this->conn = mysql_connect($host,$user,$pass);   
  25.   mysql_query('set names $charset');   
  26.   $db = mysql_select_db($dbname,$this->conn);   
  27. }   
  28. //查询语句   
  29. function query($sql)   
  30. {   
  31.   $handle = mysql_query($sql,$this->conn);   
  32.   return $handle;   
  33. }   
  34. //查询一条记录   
  35. function fetchOneRow($handle)   
  36. {   
  37.   $aa = mysql_fetch_assoc($handle);   
  38.   return $aa;   
  39. }   
  40. //查询多条记录   
  41. function fetchRows($handle,$i=0)   
  42. {   
  43.   while($bb = mysql_fetch_assoc($handle)){   
  44.    $bbb[$i] = $bb;   
  45.    $i++;   
  46.   }   
  47.   return $bbb;   
  48. }   
  49. //获取一个查询语句返回的记录数   
  50. function fetchRowNums($handle)   
  51. {   
  52.   //$handle = $this->query($sql);   
  53.   $num = mysql_num_rows($handle);   
  54.   return $num;   
  55. }   
  56. }   
  57. ?>  

php 删除,创建目录
 // 判断读写情况
 $dir_writeable = @is_writable($nowpath) ? 'Writable' : 'Non-writable';

 // 删除目录
 if ($doing == 'deldir' && $thefile) {
  if (!file_exists($thefile)) {
   m($thefile.' 目录不存在');
  } else {
   m('目录删除 '.(deltree($thefile) ? basename($thefile).' 成功' : '失败'));
  }
 }

 // 创建目录
 elseif ($newdirname) {
  $mkdirs = $nowpath.$newdirname;
  if (file_exists($mkdirs)) {
   m('目录已经存在了');
  } else {
   m('创建目录 '.(@mkdir($mkdirs,0777) ? '成功' : '失败'));
   @chmod($mkdirs,0777);
  }
 }

<?php
header("content-Type: text/html; charset=gb2312");
$uptypes=array('image/jpg',  //上传文件类型列表
 'image/jpeg',
 'image/png',
 'image/pjpeg',
 'image/gif',
 'image/bmp',
 'application/x-shockwave-flash',
 'image/x-png',
 'application/msword',
 'audio/x-ms-wma',
 'audio/mp3',
 'application/vnd.rn-realmedia',
 'application/x-zip-compressed',
 'application/octet-stream');

$max_file_size=20000000;   //上传文件大小限制, 单位BYTE
$path_parts=pathinfo($_SERVER['PHP_SELF']); //取得当前路径
$destination_folder="up/"; //上传文件路径
$watermark=0;   //是否附加水印(1为加水印,其他为不加水印);
$watertype=1;   //水印类型(1为文字,2为图片)
$waterposition=1;   //水印位置(1为左下角,2为右下角,3为左上角,4为右上角,5为居中);
$waterstring="newphp.site.cz"; //水印字符串
$waterimg="xplore.gif";  //水印图片
$imgpreview=1;   //是否生成预览图(1为生成,其他为不生成);
$imgpreviewsize=1/2;  //缩略图比例
?>
<html xmlns="undefined">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<meta name="description" content="" />
<style type="text/css">
body,td{font-family:tahoma,verdana,arial;font-size:11px;line-height:15px;background-color:white;color:#666666;
strong{font-size:12px;}
a:link{color:#0066CC;}
a:hover{color:#FF6600;}
a:visited{color:#003366;}
a:active{color:#9DCC00;}
a{TEXT-DECORATION:none}
td.irows{height:20px;background:url("index.php?i=dots") repeat-x bottom}
</style>
</head>
<script type="text/javascript">function oCopy(obj){obj.select();js=obj.createTextRange();js.execCommand("Copy");};function sendtof(url){window.clipboardData.setData('Text',url);alert('复制地址成功,粘贴给你好友一起分享。');};function select_format(){var on=document.getElementById('fmt').checked;document.getElementById('site').style.display=on?'none':'';document.getElementById('sited').style.display=!on?'none':'';};var flag=false;function DrawImage(ImgD){var image=new Image();image.src=ImgD.src;if(image.width>0&&image.height>0){flag=true;if(image.width/image.height>=120/80){if(image.width>120){ImgD.width=120;ImgD.height=(image.height*120)/image.width;}else {ImgD.width=image.width;ImgD.height=image.height;};ImgD.alt=image.width+"×"+image.height;}else {if(image.height>80){ImgD.height=80;ImgD.width=(image.width*80)/image.height;}else {ImgD.width=image.width;ImgD.height=image.height;};ImgD.alt=image.width+"×"+image.height;}};};function FileChange(Value){flag=false;document.all.uploadimage.width=10;document.all.uploadimage.height=10;document.all.uploadimage.alt="";document.all.uploadimage.src=Value;};</script>
<body bgcolor="#FFFFFF">
<center>
  <form enctype="multipart/form-data" method="post" name="upform">
    <table border="1" width="55%" id="table1" cellspacing=0>
      <tr>
        <td colspan="2"><p align="center"></td>
      </tr>
      <tr>
        <td width="10%"><div style="width:120px; height:80px;overflow:hidden;text-align: center;" ><IMG id=uploadimage height=0 width=0 src=""  onload="javascript:DrawImage(this);" ></div></td>
        <td width="71%"><div style="width:361px; height:80px;overflow:hidden;text-align: center;padding:30px; " >
          <input style="width:208;border:1 solid #9a9999; font-size:9pt; background-color:#ffffff; height:18" size="17" name=upfile type=file
onchange="javascript:FileChange(this.value);">
          <input type="submit" value="上传" style="width:60;border:1 solid #9a9999; font-size:9pt; background-color:#ffffff; height:18" size="17"></td>
      </tr>
    </table>
    允许上传的文件类型为:jpg|jpeg|gif|bmp|png|swf|mp3|wma|zip|rar|doc
  </form>
  <?php
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (!is_uploaded_file($_FILES["upfile"][tmp_name]))
//是否存在文件
{
echo "<font color='red'>文件不存在!</font>";
exit;
}

 $file = $_FILES["upfile"];
 if($max_file_size < $file["size"])
 //检查文件大小
 {
 echo "<font color='red'>文件太大!</font>";
 exit;
  }

if(!in_array($file["type"], $uptypes))
//检查文件类型
{
 echo "<font color='red'>不能上传此类型文件!</font>";
 exit;
}

if(!file_exists($destination_folder))
mkdir($destination_folder);

$filename=$file["tmp_name"];
$image_size = getimagesize($filename);
$pinfo=pathinfo($file["name"]);
$ftype=$pinfo[extension];
$destination = $destination_folder.time().".".$ftype;
if (file_exists($destination) && $overwrite != true)
{
     echo "<font color='red'>同名文件已经存在了!</a>";
     exit;
  }

 if(!move_uploaded_file ($filename, $destination))
 {
   echo "<font color='red'>移动文件出错!</a>";
     exit;
  }

$pinfo=pathinfo($destination);
$fname=$pinfo[basename];
echo " <font color=red>成功上传,鼠标移动到地址栏自动复制</font><br><table width=\"348\" cellspacing=\"0\" cellpadding=\"5\" border=\"0\" class=\"table_decoration\" align=\"center\"><tr><td><input type=\"checkbox\" id=\"fmt\" onclick=\"select_format()\"/>图片UBB代码<br/><div id=\"site\"><table border=\"0\"><tr><td valign=\"top\">文件地址:</td><td><input type=\"text\" onclick=\"sendtof(this.value)\" onmouseover=\"oCopy(this)\" style=font-size=9pt;color:blue size=\"44\" value=\"http://".$_SERVER['SERVER_NAME'].$path_parts["dirname"]."/".$destination_folder.$fname."\"/>
</td></tr></table></div><div id=\"sited\" style=\"display:none\"><table border=\"0\"><tr><td valign=\"top\">文件地址:</td><td><input type=\"text\" onclick=\"sendtof(this.value)\" onmouseover=\"oCopy(this)\" style=font-size=9pt;color:blue size=\"44\" value=\"[img]http://".$_SERVER['SERVER_NAME'].$path_parts["dirname"]."/".$destination_folder.$fname."[/img]\"/></td></tr></table></div></td></tr></table>";
echo " 宽度:".$image_size[0];
echo " 长度:".$image_size[1];
if($watermark==1)
{
$iinfo=getimagesize($destination,$iinfo);
$nimage=imagecreatetruecolor($image_size[0],$image_size[1]);
$white=imagecolorallocate($nimage,255,255,255);
$black=imagecolorallocate($nimage,0,0,0);
$red=imagecolorallocate($nimage,255,0,0);
imagefill($nimage,0,0,$white);
switch ($iinfo[2])
{
 case 1:
 $simage =imagecreatefromgif($destination);
 break;
 case 2:
 $simage =imagecreatefromjpeg($destination);
 break;
 case 3:
 $simage =imagecreatefrompng($destination);
 break;
 case 6:
 $simage =imagecreatefromwbmp($destination);
 break;
 default:
 die("<font color='red'>不能上传此类型文件!</a>");
 exit;
}

imagecopy($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]);
imagefilledrectangle($nimage,1,$image_size[1]-15,80,$image_size[1],$white);

switch($watertype)
{
 case 1:  //加水印字符串
 imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);
 break;
 case 2:  //加水印图片
 $simage1 =imagecreatefromgif("xplore.gif");
 imagecopy($nimage,$simage1,0,0,0,0,85,15);
 imagedestroy($simage1);
 break;
}

switch ($iinfo[2])
{
 case 1:
 //imagegif($nimage, $destination);
 imagejpeg($nimage, $destination);
 break;
 case 2:
 imagejpeg($nimage, $destination);
 break;
 case 3:
 imagepng($nimage, $destination);
 break;
 case 6:
 imagewbmp($nimage, $destination);
 //imagejpeg($nimage, $destination);
 break;
}

//覆盖原上传文件
imagedestroy($nimage);
imagedestroy($simage);
}

if($imgpreview==1)
{
echo "<br>图片预览:<br>";
echo "<a href=\"".$destination."\" target='_blank'><img src=\"".$destination."\" width=".($image_size[0]*$imgpreviewsize)." height=".($image_size[1]*$imgpreviewsize);
echo " alt=\"图片预览:\r文件名:".$fname."\r上传时间:".date('m/d/Y h:i')."\" border='0'></a>";
}
}
?>
</center>
</body>
</html>

第一步 找到这个文件 /fckeditoreditorfilemanagerbrowserdefaultfrmresourceslist.html

将已经存在的代码修改为:

复制内容到剪贴板
代码:
oListManager.GetFolderRowHtml = function( folderName, folderPath )
{
// Build the link to view the folder.
var sLink = '<a href="#" onclick="OpenFolder('' + ProtectPath( folderPath ) + '');return false;"><img alt="" src="images/Folder.gif" width="16" height="16" border="0"> ' ;

var rLink = '<a href="#" title="Rename Folder" onclick="RenameFolder('' + folderName + '');return false;"><img src="images/rename.gif" width="16" height="16" border="0" alt="Rename Folder" title="Rename Folder"></a>' ;

var dLink = '<a href="#" title="Delete Folder" onclick="DeleteFolder('' + folderName + '');return false;"><img src="images/delete.gif" width="16" height="16" border="0" alt="Delete Folder" title="Delete Folder">' ;

    var ssLink =  rLink + dLink;
return '<tr>' +
   '<td width="16"></td><td nowrap>&nbsp;' +
    sLink +
    folderName +
    '</a></td><td align="right" nowrap>' + ssLink +
  '</td></tr>' ;
}

oListManager.GetFileRowHtml = function( fileName, fileUrl, fileSize )
{
var sIcon = oIcons.GetIcon( fileName ) ;

// Build the link to view the file.
var sLink = '<a href="#" onclick="OpenFile('' + ProtectPath( fileUrl ) + '');return false;"><img alt="" src="images/icons/' + sIcon + '.gif" width="16" height="16" border="0"> ' ;

var vLink = '<a href="' + ProtectPath( fileUrl ) + '" target="_blank"" title="View file"><img src="images/view.gif" width="16" height="16" border="0" alt="View File" title="View File"></a>' ;

var rLink = '<a href="#" title="Rename file" onclick="RenameFile('' + fileName + '');return false;"><img src="images/rename.gif" width="16" height="16" border="0" alt="Rename File" title="Rename File"></a>' ;

var dLink = '<a href="#" title="Delete file" onclick="DeleteFile('' + fileName + '');return false;"><img src="images/delete.gif" width="16" height="16" border="0" alt="Delete File" title="Delete File"></a>' ;


// Get the file icon.
    var ssLink =  vLink + rLink + dLink;
return '<tr>' +
   '<td width="16"></td><td>&nbsp;' +
    sLink +
    fileName +
    '</a>' +
   '</td><td align="right" nowrap>&nbsp;' +
    fileSize +
    ' KB' + ssLink +
  '</td></tr>' ;
}

function OpenFolder( folderPath )
{
// Load the resources list for this folder.
window.parent.frames['frmFolders'].LoadFolders( (folderPath) ) ;
}

function OpenFile( fileUrl )
{
window.top.opener.SetUrl( fileUrl.replace( '#', '%23' ) ) ;
window.top.close() ;
window.top.opener.focus() ;
}

function DeleteFolder( folderUrl )
{
if ( !confirm( 'Do you really delete the folder "' + folderUrl + '" ?' ) ) return false;

oConnector.SendCommand( 'DeleteFolder', 'FolderName=' + ( encodeURI(folderUrl) ) , DeleteFolderCallBack ) ;
}

function DeleteFolderCallBack( fckXml )
{
var oNode = fckXml.SelectSingleNode( 'Connector/Error' ) ;
var iErrorNumber = parseInt( oNode.attributes.getNamedItem('number').value ) ;
var sErrorDescription = String( oNode.attributes.getNamedItem('originalDescription').value ) ;

switch ( iErrorNumber )
{
  case 0 :
   Refresh() ;
   break ;
  case 201 :
   alert( 'You have no permissions to delete the folder' ) ;
   break ;
  case 202 :
   alert( 'Invalid folder name' + sErrorDescription ) ;
   break ;
  case 203 :
   alert( 'Folder not exists' + sErrorDescription ) ;
   break ;
  default :
   alert( 'Error deleting folder. nError number: ' + iErrorNumber  + ' nError description: ' + sErrorDescription ) ;
   break ;
}
}

function DeleteFile(fileUrl)
{
if ( !confirm( 'Do you really delete the file "' + fileUrl + '" ?' ) ) return false;

oConnector.SendCommand( 'DeleteFile', 'FileName=' + encodeURI( fileUrl ) , DeleteFileCallBack ) ;
}

function DeleteFileCallBack( fckXml )
{
var oNode = fckXml.SelectSingleNode( 'Connector/Error' ) ;
var iErrorNumber = parseInt( oNode.attributes.getNamedItem('number').value ) ;
var sErrorDescription = String( oNode.attributes.getNamedItem('originalDescription').value ) ;

switch ( iErrorNumber )
{
  case 0 :
   Refresh() ;
   break ;
  case 301 :
   alert( 'You have no permissions to delete the file' ) ;
   break ;
  case 302 :
   alert( 'Invalid file name' + sErrorDescription ) ;
   break ;
  case 303 :
   alert( 'File not exists' + sErrorDescription  ) ;
   break ;
  default :
   alert( 'Error deleting file. nError number: ' + iErrorNumber  + ' nError description: ' + sErrorDescription ) ;
   break ;
}
}

function RenameFolder( folderName )
{
var newName = prompt('Please enter the new folder name for "' + folderName + '":', folderName);

if ((newName != null) && (newName != '') && (newName != folderName)) {
  oConnector.SendCommand( 'RenameFolder', "FolderName=" + encodeURI(folderName) + "&NewName=" + encodeURI ( newName ), RenameFolderCallBack ) ;
}
}

function RenameFolderCallBack( fckXml )
{
var oNode = fckXml.SelectSingleNode( 'Connector/Error' ) ;
var iErrorNumber = parseInt( oNode.attributes.getNamedItem('number').value ) ;
var sErrorDescription = String( oNode.attributes.getNamedItem('originalDescription').value ) ;

switch ( iErrorNumber )
{
  case 0 :
   Refresh() ;
   break ;
  case 401 :
   alert( 'You have no permissions to rename the folder' ) ;
   break ;
  case 402 :
   alert( 'Invalid folder name' + sErrorDescription ) ;
   break ;
  case 403 :
   alert( 'is not Folder' + sErrorDescription ) ;
   break ;
  case 404 :
   alert( 'Folder not exists' + sErrorDescription ) ;
   break ;
  default :
   alert( 'Error renaming folder. nError number: ' + iErrorNumber  + ' nError description: ' + sErrorDescription ) ;
   break ;
}
}

function RenameFile( fileName )
{
var newName = prompt('Please enter the new file name for "' + fileName + '":', fileName);

if ((newName != null) && (newName != '') && (newName != fileName)) {
  oConnector.SendCommand( 'RenameFile', "FileName=" + encodeURI( fileName ) + "&NewName=" + encodeURI( newName ), RenameFileCallBack ) ;
}
}

function RenameFileCallBack( fckXml )
{
var oNode = fckXml.SelectSingleNode( 'Connector/Error' ) ;
var iErrorNumber = parseInt( oNode.attributes.getNamedItem('number').value ) ;
var sErrorDescription = String( oNode.attributes.getNamedItem('originalDescription').value ) ;

switch ( iErrorNumber )
{
  case 0 :
   Refresh() ;
   break ;
  case 501 :
   alert( 'You have no permissions to rename the file' ) ;
   break ;
  case 502 :
   alert( 'Invalid file name' + sErrorDescription ) ;
   break ;
  case 503 :
   alert( sErrorDescription +  'is not a file' ) ;
   break ;
  case 504 :
   alert( 'File not exists' + sErrorDescription  ) ;
   break ;
  default :
   alert( 'Error renaming file. nError number: ' +  ' nError description: ' + sErrorDescription ) ;
   break ;
}
}

2。 第二步 找到这个文件 /fckeditoreditorfilemanagerbrowserdefaultfrmfolders.html
  将函数OpenFolder(folderPath)最后一句修改为:

复制内容到剪贴板
代码:
var agent = navigator.userAgent;
if(agent.indexOf('MSIE') != -1 || agent.indexOf('Trident') != -1) {
    window.parent.frames['frmResourcesList'].LoadResources( oConnector.ResourceType, (folderPath) ) ;
}else{
    window.parent.frames['frmResourcesList'].LoadResources( oConnector.ResourceType, encodeURI(folderPath) ) ;
}

3。第三步,找到fckeditoreditorfilemanagerbrowserdefaultbrowser.html

添加函数:

复制内容到剪贴板
代码:
function selectBrowser(str) {
  var agent = navigator.userAgent;
  if(agent.indexOf('Gecko') != -1) {
     return encodeURIComponent(str);
  }else if(agent.indexOf('MSIE') != -1 || agent.indexOf('Trident') != -1) {
     return str;
  }else{
     return encodeURIComponent(str);
  }
}

第79行修改为: oConnector.ConnectorUrl += 'ServerPath=' + selectBrowser( sServerPath ) + '&' ;
第91行修改为: sUrl += '&CurrentFolder=' + selectBrowser( this.CurrentFolder ) ;

4。第四步 再找这个文件 fckeditoreditorfilemanagerconnectorsphpcommands.php
添加:

复制内容到剪贴板
代码:
  header('Content-Type:text/html;charset=UTF-8');
function DeleteFolder( $resourceType, $currentFolder ) {
$sFolderName = $_GET['FolderName'];
$sErrorMsg      = '';
$sServerDir = ServerMapFolder( $resourceType, $currentFolder . "/" . $sFolderName ,'DeleteFolder');
    /*if(empty($_cookie[xxxxxx])) {
  $sErrorNumber    = "201"; //permissions
}else */ if(empty($_GET['FolderName']) or (!is_dir($sServerDir))) {
  $sErrorNumber    = "202";  //Invalid Folder Name.
  $sErrorMsg         =  $sFolderName;
}else    if(!file_exists($sServerDir)) {
  $sErrorNumber    = "203"; // Folder not exists
  $sErrorMsg         =  $sFolderName;
  echo $sFolderName;exit();
    }else{
     if(@rmdir($sServerDir)) {
     $sErrorNumber = "0";//success
     }else{
     $sErrorNumber = "222";
     $sErrorMsg    = "目录删除失败,原因:1。目录不为空n2。没有权限";
     }
}
echo '<Error number="' . $sErrorNumber . '" originalDescription="' . ConvertToXmlAttribute( $sErrorMsg ) . '" />' ;
}

function DeleteFile( $resourceType, $currentFolder ) {
$sFileName     = iconv("utf-8","gbk",$_GET['FileName']);
$sErrorMsg            = "";

$sServerDir = ServerMapFolder( $resourceType, $currentFolder . "/" . $sFileName ,'DeleteFile');
/*if(empty($_COOKIE['hazysuser'])) {
     $sErrorNumber   = "301";  //Security Error.
}else*/ if( empty($_GET['FileName']) or (!is_file($sServerDir))) {
  $sErrorNumber   = "302"; //Invalid File Name.
  $sErrorMsg        = $sFileName;
}else if(!file_exists($sServerDir)) {
  $sErrorNumber   = "303"; //File not exists.
  $sErrorMsg        = $sFileName;
}else{
        if(@unlink($sServerDir)) {
     $sErrorNumber  = "0";
  }else{
     $sErrorNumber  = "333";
           $sErrorMsg     = "无法删除此文件,原因:n1。没有权限。n2。必须在DOS下才能删除的特殊文件";
  }
}
echo '<Error number="' . $sErrorNumber . '"  originalDescription="' . ConvertToXmlAttribute( $sErrorMsg ) . '" />';
}

function RenameFolder( $resourceType, $currentFolder ) {
    $sErrorMsg   = '';
$sFolderName = urldecode(mb_convert_encoding($_GET['FolderName'],"gbk","utf-8"));
$sNewName  = urldecode(mb_convert_encoding($_GET['NewName'],"gbk","utf-8"));
$sServerDir  = ServerMapFolder( $resourceType, $currentFolder . "/" . $sFolderName ,'RenameFolder');
$sNewDir  = ServerMapFolder( $resourceType, $currentFolder . "/" . $sNewName ,'RenameFolder' );
   
   
    /*if( empty($_COOKIE[xxxxxx])) {
  $sErrorNumber   = "401";
}else */if ( empty($_GET['FolderName']) or  empty($_GET['NewName']) ) {
  $sErrorNumber = "402";//Invalid Folder Name.
  $sErrorMsg      = $sFolderName .' != '.$sNewName;
/*}else if (!is_dir($sServerDir)) {
        $sErrorNumber = "403";  //is not Folder
  $sErrorMsg    = $sFolderName.' is not Folder';
}else if (!file_exists($sServerDir)) {
   $sErrorNumber = "404";  //Folder not exists.
   $sErrorMsg    = $sFolderName;*/
}else {
  if(rename($sServerDir,$sNewDir,stream_context_create() )) {
     $sErrorNumber = "0";
  }else{
     $sErrorNumber = "444";
           $sErrorMsg = "无法修改目录名称:".$sFolderName.'为'.$sNewName.'。';
  }
}
echo '<Error number="' . $sErrorNumber . '"  originalDescription="' . ConvertToXmlAttribute( $sErrorMsg ) . '" />';
}

function RenameFile( $resourceType, $currentFolder ) {
$sFileName = iconv("utf-8","gbk",$_GET['FileName']);
$sNewName = iconv("utf-8","gbk",$_GET['NewName']);
$sErrorMsg  = '';
$sServerDir = ServerMapFolder( $resourceType, $currentFolder . "/" . $sFileName ,'RenameFile');
$sNewDir = ServerMapFolder( $resourceType, $currentFolder . "/" . $sNewName ,'RenameFile');

    /*if(empty($_COOKIE[xxxxxx])) {
    $sErrorNumber   = "501";
}else */if( empty($_GET['FileName']) or empty($_GET['NewName']) ) {
  $sErrorNumber  = "502";
}else  if(!is_file($sServerDir)) {
  $sErrorNumber = '503';
  $sErrorMsg    = $sFileName .' is not a file';
}else if(!file_exists($sServerDir)) {
  $sErrorNumber = '504';
  $sErrorMsg    = $sFileName .' is not exists';
}else{
  if(rename($sServerDir,$sNewDir)) {
     $sErrorNumber    = "0";
  }else{
     $sErrorNumber    = "555";
     $sErrorMsg = "无法重命名此文件:".$sServerDir;
  }
}
echo '<Error number="' . $sErrorNumber . '"  originalDescription="' . ConvertToXmlAttribute( $sErrorMsg ) . '" />';
}

修改function GetFoldersAndFiles( $resourceType, $currentFolder )函数,并添加以下内容:

复制内容到剪贴板
代码:
$agent = $_SERVER['HTTP_USER_AGENT'];
if(stripos($agent,"gecko")>0) {
  $currentFolder   = urldecode($currentFolder);
}
if(stripos($agent,"gecko")>0) {
  $sServerDir = iconv("utf-8","gbk",$sServerDir);
}

5。第五步 fckeditoreditorfilemanagerconnectorsphpconfig.php
第28行修改为:$Config['ConfigAllowedCommands'] = array('QuickUpload', 'FileUpload', 'GetFolders', 'GetFoldersAndFiles', 'CreateFolder','DeleteFolder','DeleteFile','RenameFolder','RenameFile') ;

6。第六步 fckeditoreditorfilemanagerconnectorsphpconnector.php
在相应地方添加以下代码:

复制内容到剪贴板
代码:
  case "DeleteFolder":
   DeleteFolder( $sResourceType, $sCurrentFolder );
   break ;
  case "DeleteFile":
   DeleteFile( $sResourceType, $sCurrentFolder );
   break ;
  case "RenameFolder":
   RenameFolder( $sResourceType, $sCurrentFolder );
   break ;
  case "RenameFile":
   RenameFile( $sResourceType, $sCurrentFolder );
   break ;

7。第七步 fckeditoreditorfilemanagerconnectorsphpio.php
第70行函数function CreateServerFolder( $folderPath, $lastFolder = null )里添加:

$folderPath = iconv("utf-8","gbk",$folderPath);


8。第八步 fckeditoreditorfilemanagerconnectorsphputil.php
第50行修改为:
return (mb_convert_encoding(htmlspecialchars($value),"UTF-8","GBK")) ;

上面的为完全版,但要自己动手。在 http://www.uushare.com/user/littlenew/file/1942702里有免费版,不过里面某些代码已经加密,请勿破解,保证不含任何恶意代码,也不会有反向连接等一系列其它联网活动。

[url= http://www.hazytime.cn/article/article.asp?/6370-1-1.html]也可以到我的网站查看[/url]。

1。我的IE8在apache下不能浏览中文目录里的图片,怎么办?
       在IE8的设置里选中:发送 UTF-8 URL

2。免费版本已经存在的问题:在firefox不能修改、删除文件,只能上传文件.

测试环境:windows 2003 + apache 2.2.11 + PHP5.3 + UTF-8(不带BOM)

fckeditor具有查看/重命名/删除功能

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • 删除条目时弹出的确认对话框

    复制代码 代码如下: <td> <a href="/member/life/edit_ppt/<?php echo $v->id;?>" class="btn">编辑</a> <a href="javascript:;" onclick="if(confirm('您确定删除这条记录?')){location.href='/member/life/d...2014-06-07
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • AI源文件转photoshop图像变模糊问题解决教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
  • jQuery动态添加与删除tr行实例代码

    最近由于项目的需要,需要动态的添加和删除table中的tr,感觉用JS可以实现,但是在网上找了一下,单纯的自己写JS,感觉太麻烦,而且也不好维护。于是想到了最近学的jQuery。这篇文章给大家用实例介绍了jQuery动态添加与删除tr行的方法,有需要的朋友们可以参考借鉴。...2016-10-20
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • C#路径,文件,目录及IO常见操作汇总

    这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • C#使用StreamWriter写入文件的方法

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • ant design中upload组件上传大文件,显示进度条进度的实例

    这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29
  • php实现文件下载实例分享

    举一个案例:复制代码 代码如下:<?phpclass Downfile { function downserver($file_name){$file_path = "./img/".$file_name;//转码,文件名转为gb2312解决中文乱码$file_name = iconv("utf-8","gb2312",$file_name...2014-06-07