1

こんにちは、画像ファイルのアップロードに制限を追加したいと思います。たとえば、FCK Editor で 500Kb 以上です。

そのため、FCK edior アップロード スクリプトには、必要なファイルがいくつか含まれています。

require('./config.php') ;
require('./util.php') ;
require('./io.php') ;
require('./commands.php') ;
require('./phpcompat.php') ;

ファイルサイズはcommands.phpファイルで計算され、その変数を(関数(commands.php)内から)取得して、制限サイズを破るかどうかをテストできると思いました)

まだupload.phpにあるので、require includeの下にこのスニペットがあります:

$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