<?php
header("Content-type:text/html;charset=utf-8");
?>
<?php
function GetFolders( $resourceType, $currentFolder )
{
// Map the virtual path to the local server path.
$sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ; // Array that will hold the folders names.
$aFolders = array() ; $oCurrentFolder = opendir( $sServerDir ) ; while ( $sFile = readdir( $oCurrentFolder ) )
{
if ( $sFile != '.' && $sFile != '..' && is_dir( $sServerDir . $sFile ) )
$aFolders[] = '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
} closedir( $oCurrentFolder ) ; // Open the "Folders" node.
echo "<Folders>" ;
natcasesort( $aFolders ) ;
foreach ( $aFolders as $sFolder )
echo $sFolder ; // Close the "Folders" node.
echo "</Folders>" ;
}function GetFoldersAndFiles( $resourceType, $currentFolder )
{
// Map the virtual path to the local server path.
$sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ; // 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[] = '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
else
{
$iFileSize = filesize( $sServerDir . $sFile ) ;
if ( $iFileSize > 0 )
{
$iFileSize = round( $iFileSize / 1024 ) ;
if ( $iFileSize < 1 ) $iFileSize = 1 ;
} $aFiles[] = '<File name="' . ConvertToXmlAttribute( $sFile ) . '" size="' . $iFileSize . '" />' ;
}
}
} // Send the folders
natcasesort( $aFolders ) ;
echo '<Folders>' ; foreach ( $aFolders as $sFolder )
echo $sFolder ; echo '</Folders>' ; // Send the files
natcasesort( $aFiles ) ;
echo '<Files>' ; foreach ( $aFiles as $sFiles )
echo $sFiles ; echo '</Files>' ;
}function CreateFolder( $resourceType, $currentFolder )
{
$sErrorNumber = '0' ;
$sErrorMsg = '' ; if ( isset( $_GET['NewFolderName'] ) )
{
$sNewFolderName = $_GET['NewFolderName'] ; 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 ) ; 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 ;
}
}
//加入
if($_POST['C1']=="ON")
{
$water=1; //是否附加水印(1为加水印,其他为不加水印);
}
else
{
$water=2;
}if($_POST['R1']=="V1")
{
$watertype=1; //水印类型(1为文字,2为图片)
}
else
{
$watertype=2;
}if($_POST['T1']=="")
{
$waterstring="发表于www.woqie.com"; //水印字符串
}
else
{
$waterstring=$_POST['T1'];
}
$waterimg="woqie.png"; //水印图片
if($water==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]);
imagefilledrectangle($nimage,1,$image_size[1]-15,0,$image_size[1],$white); switch($watertype)
{
case 1: //加水印字符串
imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$white);
break;
case 2: //加水印图片
$simage1 =imagecreatefromgif($waterimg);
imagecopy($nimage,$simage1,0,0,0,0,85,30);
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);
}
else
$sErrorNumber = '103' ;
}
}
else
$sErrorNumber = '102' ; // Create the "Error" node.
echo '<Error number="' . $sErrorNumber . '" originalDescription="' . ConvertToXmlAttribute( $sErrorMsg ) . '" />' ;
}function FileUpload( $resourceType, $currentFolder )
{
$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 ) ; // Get the uploaded file name.
$sFileName = $oFile['name'] ;
// Replace dots in the name with underscores (only one dot can be there... security issue).
if ( $Config['ForceSingleExtension'] )
$sFileName = preg_replace( '/\\.(?![^.]*$)/', '_', $sFileName ) ; $sOriginalFileName = $sFileName ; // Get the extension.
$sExtension = substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) ) ;
$sExtension = strtolower( $sExtension ) ; $arAllowed = $Config['AllowedExtensions'][$resourceType] ;
$arDenied = $Config['DeniedExtensions'][$resourceType] ; if ( ( count($arAllowed) == 0 || in_array( $sExtension, $arAllowed ) ) && ( count($arDenied) == 0 || !in_array( $sExtension, $arDenied ) ) )
{
$iCounter = 0 ; while ( true )
{
$sFilePath = $sServerDir . $sFileName ; if ( is_file( $sFilePath ) )
{
$iCounter++ ;
$sFileName = RemoveExtension( $sOriginalFileName ) . '(' . $iCounter . ').' . $sExtension ;
$sErrorNumber = '201' ;
}
else
{
move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ; if ( is_file( $sFilePath ) )
{
$oldumask = umask(0) ;
chmod( $sFilePath, 0777 ) ;
umask( $oldumask ) ;
} break ;
}
}
}
else
$sErrorNumber = '202' ;
}
else
$sErrorNumber = '202' ; echo '<script type="text/javascript">' ;
echo 'window.parent.frames["frmUpload"].OnUploadCompleted(' . $sErrorNumber . ',"' . str_replace( '"', '\\"', $sFileName ) . '") ;' ;
echo '</script>' ;
exit ;
}
?>
header("Content-type:text/html;charset=utf-8");
?>
<?php
function GetFolders( $resourceType, $currentFolder )
{
// Map the virtual path to the local server path.
$sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ; // Array that will hold the folders names.
$aFolders = array() ; $oCurrentFolder = opendir( $sServerDir ) ; while ( $sFile = readdir( $oCurrentFolder ) )
{
if ( $sFile != '.' && $sFile != '..' && is_dir( $sServerDir . $sFile ) )
$aFolders[] = '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
} closedir( $oCurrentFolder ) ; // Open the "Folders" node.
echo "<Folders>" ;
natcasesort( $aFolders ) ;
foreach ( $aFolders as $sFolder )
echo $sFolder ; // Close the "Folders" node.
echo "</Folders>" ;
}function GetFoldersAndFiles( $resourceType, $currentFolder )
{
// Map the virtual path to the local server path.
$sServerDir = ServerMapFolder( $resourceType, $currentFolder ) ; // 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[] = '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
else
{
$iFileSize = filesize( $sServerDir . $sFile ) ;
if ( $iFileSize > 0 )
{
$iFileSize = round( $iFileSize / 1024 ) ;
if ( $iFileSize < 1 ) $iFileSize = 1 ;
} $aFiles[] = '<File name="' . ConvertToXmlAttribute( $sFile ) . '" size="' . $iFileSize . '" />' ;
}
}
} // Send the folders
natcasesort( $aFolders ) ;
echo '<Folders>' ; foreach ( $aFolders as $sFolder )
echo $sFolder ; echo '</Folders>' ; // Send the files
natcasesort( $aFiles ) ;
echo '<Files>' ; foreach ( $aFiles as $sFiles )
echo $sFiles ; echo '</Files>' ;
}function CreateFolder( $resourceType, $currentFolder )
{
$sErrorNumber = '0' ;
$sErrorMsg = '' ; if ( isset( $_GET['NewFolderName'] ) )
{
$sNewFolderName = $_GET['NewFolderName'] ; 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 ) ; 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 ;
}
}
//加入
if($_POST['C1']=="ON")
{
$water=1; //是否附加水印(1为加水印,其他为不加水印);
}
else
{
$water=2;
}if($_POST['R1']=="V1")
{
$watertype=1; //水印类型(1为文字,2为图片)
}
else
{
$watertype=2;
}if($_POST['T1']=="")
{
$waterstring="发表于www.woqie.com"; //水印字符串
}
else
{
$waterstring=$_POST['T1'];
}
$waterimg="woqie.png"; //水印图片
if($water==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]);
imagefilledrectangle($nimage,1,$image_size[1]-15,0,$image_size[1],$white); switch($watertype)
{
case 1: //加水印字符串
imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$white);
break;
case 2: //加水印图片
$simage1 =imagecreatefromgif($waterimg);
imagecopy($nimage,$simage1,0,0,0,0,85,30);
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);
}
else
$sErrorNumber = '103' ;
}
}
else
$sErrorNumber = '102' ; // Create the "Error" node.
echo '<Error number="' . $sErrorNumber . '" originalDescription="' . ConvertToXmlAttribute( $sErrorMsg ) . '" />' ;
}function FileUpload( $resourceType, $currentFolder )
{
$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 ) ; // Get the uploaded file name.
$sFileName = $oFile['name'] ;
// Replace dots in the name with underscores (only one dot can be there... security issue).
if ( $Config['ForceSingleExtension'] )
$sFileName = preg_replace( '/\\.(?![^.]*$)/', '_', $sFileName ) ; $sOriginalFileName = $sFileName ; // Get the extension.
$sExtension = substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) ) ;
$sExtension = strtolower( $sExtension ) ; $arAllowed = $Config['AllowedExtensions'][$resourceType] ;
$arDenied = $Config['DeniedExtensions'][$resourceType] ; if ( ( count($arAllowed) == 0 || in_array( $sExtension, $arAllowed ) ) && ( count($arDenied) == 0 || !in_array( $sExtension, $arDenied ) ) )
{
$iCounter = 0 ; while ( true )
{
$sFilePath = $sServerDir . $sFileName ; if ( is_file( $sFilePath ) )
{
$iCounter++ ;
$sFileName = RemoveExtension( $sOriginalFileName ) . '(' . $iCounter . ').' . $sExtension ;
$sErrorNumber = '201' ;
}
else
{
move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ; if ( is_file( $sFilePath ) )
{
$oldumask = umask(0) ;
chmod( $sFilePath, 0777 ) ;
umask( $oldumask ) ;
} break ;
}
}
}
else
$sErrorNumber = '202' ;
}
else
$sErrorNumber = '202' ; echo '<script type="text/javascript">' ;
echo 'window.parent.frames["frmUpload"].OnUploadCompleted(' . $sErrorNumber . ',"' . str_replace( '"', '\\"', $sFileName ) . '") ;' ;
echo '</script>' ;
exit ;
}
?>
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货