function getfolders( $resourcetype, $currentfolder )
{
 // map the virtual path to the local server path.
 $sserverdir = servermapfolder( $resourcetype, $currentfolder, 'getfolders' ) ;
 // array that will hold the folders names.
 $afolders = array() ;
$ocurrentfolder = opendir( $sserverdir ) ;
 while ( $sfile = readdir( $ocurrentfolder ) )
 {
  if ( $sfile != '.' && $sfile != '..' && is_dir( $sserverdir . $sfile ) )
   $afolders[] = '
 }
closedir( $ocurrentfolder ) ;
 // open the "folders" node.
 echo "
 natcasesort( $afolders ) ;
 foreach ( $afolders as $sfolder )
  echo $sfolder ;
 // close the "folders" node.
 echo "" ;
}
function getfoldersandfiles( $resourcetype, $currentfolder )
{
 // map the virtual path to the local server path.
 $sserverdir = servermapfolder( $resourcetype, $currentfolder, 'getfoldersandfiles' ) ;
 // arrays that will hold the folders and files names.
 $afolders = array() ;
 $afiles  = array() ;
$ocurrentfolder = opendir( $sserverdir ) ;
 while ( $sfile = readdir( $ocurrentfolder ) )
 {
  if ( $sfile != '.' && $sfile != '..' )
  {
   if ( is_dir( $sserverdir . $sfile ) )
    $afolders[] = '
   else
   {
    $ifilesize = @filesize( $sserverdir . $sfile ) ;
    if ( !$ifilesize ) {
     $ifilesize = 0 ;
    }
    if ( $ifilesize > 0 )
    {
     $ifilesize = round( $ifilesize / 1024 ) ;
     if ( $ifilesize < 1 ) $ifilesize = 1 ;
    }
    $afiles[] = '
   }
  }
 }
 // send the folders
 natcasesort( $afolders ) ;
 echo '
 foreach ( $afolders as $sfolder )
  echo $sfolder ;
echo '' ;
 // send the files
 natcasesort( $afiles ) ;
 echo '
 foreach ( $afiles as $sfiles )
  echo $sfiles ;
 echo '' ;
}
function createfolder( $resourcetype, $currentfolder )
{
 if (!isset($_get)) {
  global $_get;
 }
 $serrornumber = '0' ;
 $serrormsg  = '' ;
 if ( isset( $_get['newfoldername'] ) )
 {
  $snewfoldername = $_get['newfoldername'] ;
  $snewfoldername = sanitizefoldername( $snewfoldername ) ;
  if ( strpos( $snewfoldername, '..' ) !== false )
   $serrornumber = '102' ;  // invalid folder name.
  else
  {
   // map the virtual path to the local server path of the current folder.
   $sserverdir = servermapfolder( $resourcetype, $currentfolder, 'createfolder' ) ;
   if ( is_writable( $sserverdir ) )
   {
    $sserverdir .= $snewfoldername ;
$serrormsg = createserverfolder( $sserverdir ) ;
    switch ( $serrormsg )
    {
     case '' :
      $serrornumber = '0' ;
      break ;
     case 'invalid argument' :
     case 'no such file or directory' :
      $serrornumber = '102' ;  // path too long.
      break ;
     default :
      $serrornumber = '110' ;
      break ;
    }
   }
   else
    $serrornumber = '103' ;
  }
 }
 else
  $serrornumber = '102' ;
 // create the "error" node.
 echo '
}
function fileupload( $resourcetype, $currentfolder, $scommand )
{
 if (!isset($_files)) {
  global $_files;
 }
 $serrornumber = '0' ;
 $sfilename = '' ;
 if ( isset( $_files['newfile'] ) && !is_null( $_files['newfile']['tmp_name'] ) )
 {
  global $config ;
$ofile = $_files['newfile'] ;
  // map the virtual path to the local server path.
  $sserverdir = servermapfolder( $resourcetype, $currentfolder, $scommand ) ;
  // get the uploaded file name.
  $sfilename = $ofile['name'] ;
  $sfilename = sanitizefilename( $sfilename ) ;
$soriginalfilename = $sfilename ;
  // get the extension.
  $sextension = substr( $sfilename, ( strrpos($sfilename, '.') + 1 ) ) ;
  $sextension = strtolower( $sextension ) ;
  if ( isset( $config['secureimageuploads'] ) )
  {
   if ( ( $isimagevalid = isimagevalid( $ofile['tmp_name'], $sextension ) ) === false )
   {
    $serrornumber = '202' ;
   }
  }
  if ( isset( $config['htmlextensions'] ) )
  {
   if ( !ishtmlextension( $sextension, $config['htmlextensions'] ) &&
    ( $detecthtml = detecthtml( $ofile['tmp_name'] ) ) === true )
   {
    $serrornumber = '202' ;
   }
  }
  // check if it is an allowed extension.
  if ( !$serrornumber && isallowedext( $sextension, $resourcetype ) )
  {
   $icounter = 0 ;
   while ( true )
   {
    $sfilepath = $sserverdir . $sfilename ;
    //$sfilepath =$sserverdir.time().$sextension;
    
    if ( is_file( $sfilepath ) )
    {
     $icounter++ ;
     $sfilename = removeextension( $soriginalfilename ) . '(' . $icounter . ').' . $sextension ;
     $serrornumber = '201' ;
    }
    else
    {
     move_uploaded_file( $ofile['tmp_name'], $sfilepath ) ;
     if ( is_file( $sfilepath ) )
     {
      if ( isset( $config['chmodonupload'] ) && !$config['chmodonupload'] )
      {
       break ;
      }
$permissions = 0777;
      if ( isset( $config['chmodonupload'] ) && $config['chmodonupload'] )
      {
       $permissions = $config['chmodonupload'] ;
      }
      $oldumask = umask(0) ;
      chmod( $sfilepath, $permissions ) ;
      umask( $oldumask ) ;
     }
     break ;
    }
   }
   
  
| 代码如下 | 复制代码 | 
|  //增加水印  // add start $waterimg="111com.net.png"; //水印图片 这里修改你的水印图片所在的地址 if($watermark==1) { $image_size = getimagesize($sfilepath); $iinfo=getimagesize($sfilepath,$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($sfilepath); break; case 2: $simage =imagecreatefromjpeg($sfilepath); break; case 3: $simage =imagecreatefrompng($sfilepath); break; // case 6: // $simage =imagecreatefromwbmp($sfilepath); // break; default: die("不支持的文件类型"); exit; } imagecopy($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]); switch($watertype) { case 1: //加水印字符串 imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black); break; case 2: //加水印图片 $simage1 =imagecreatefrompng($waterimg); imagecopy($nimage,$simage1,$image_size[0]/2,$image_size[0]/2,0,0,240,65); imagedestroy($simage1); break; } switch ($iinfo[2]) { case 1: imagegif($nimage, $sfilepath); // imagejpeg($nimage, $sfilepath); break; case 2: imagejpeg($nimage, $sfilepath); break; case 3: imagepng($nimage, $sfilepath); break; // case 6: // imagewbmp($nimage, $sfilepath); // //imagejpeg($nimage, $sfilepath); // break; } //覆盖原上传文件 imagedestroy($nimage); imagedestroy($simage); }  | 
	  |
  //增加水印结果
   
   if ( file_exists( $sfilepath ) )
   {
    //previous checks failed, try once again
    if ( isset( $isimagevalid ) && $isimagevalid === -1 && isimagevalid( $sfilepath, $sextension ) === false )
    {
     @unlink( $sfilepath ) ;
     $serrornumber = '202' ;
    }
    else if ( isset( $detecthtml ) && $detecthtml === -1 && detecthtml( $sfilepath ) === true )
    {
     @unlink( $sfilepath ) ;
     $serrornumber = '202' ;
    }
   }
  }
  else
   $serrornumber = '202' ;
 }
 else
  $serrornumber = '202' ;
 $sfileurl = combinepaths( getresourcetypepath( $resourcetype, $scommand ) , $currentfolder ) ;
 $sfileurl = combinepaths( $sfileurl, $sfilename ) ;
senduploadresults( $serrornumber, $sfileurl, $sfilename ) ;
 exit ;
}?>