嗨,我想对上传图像文件添加一个限制,比如使用 FCK 编辑器超过 500Kb。
所以在 FCK 编辑器上传脚本中有一些包含的 Require Files:
require('./config.php') ;
require('./util.php') ;
require('./io.php') ;
require('./commands.php') ;
require('./phpcompat.php') ;
文件大小在 commands.php 文件中计算,我认为我可以获取该变量(从函数(commands.php)中获取,然后测试它是否打破了我的限制大小)
所以仍然在upload.php中,我在require下面有这个片段包括:
$limit_size = 512000;
if ( $GLOBALS['myFileSize'] >= $limit_size ) {
SendUploadResults( 1, '', '', ''. $GLOBALS['myFileSize'].'' ) ;
}
所以这里是 commands.php 文件中的函数:
function GetFoldersAndFiles( $resourceType, $currentFolder )
{
global $iFileSize;
// 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 ) ;
if ($oCurrentFolder !== false)
{
while ( $sFile = readdir( $oCurrentFolder ) )
{
if ( $sFile != '.' && $sFile != '..' )
{
if ( is_dir( $sServerDir . $sFile ) )
$aFolders[] = '<Folder name="' . ConvertToXmlAttribute( $sFile ) . '" />' ;
else
{
$iFileSize = @filesize( $sServerDir . $sFile ) ;
if ( !$iFileSize ) {
$iFileSize = 0 ;
$GLOBALS['myFileSize'] = $iFileSize;
}
if ( $iFileSize > 0 )
{
$iFileSize = round( $iFileSize / 1024 ) ;
if ( $iFileSize < 1 )
$iFileSize = 1 ;
global $myFileSize;
$GLOBALS['myFileSize'] = $iFileSize;
}
$aFiles[] = '<File name="' . ConvertToXmlAttribute( $sFile ) . '" size="' . $iFileSize . '" />' ;
}
}
}
closedir( $oCurrentFolder ) ;
}
// 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>' ;
}
我正在接近这个权利吗?我想我可以获取文件大小值(我已经搞砸了试图使其成为全局变量??($GLOBALS[myFileSize]),然后在我的 IF 语句中使用它来查看 FileSize > limit_size???
谢谢