1

嗨,我想对上传图像文件添加一个限制,比如使用 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???

谢谢

4

0 回答 0