параметры .htaccess полностью игнорируются при загрузке файлов через PHP

#php #.htaccess

Вопрос:

Я пытаюсь ограничить размер файла, тип файла и количество загрузок на запрос через файл .htaccess, но по какой-то причине мой скрипт загрузки PHP полностью обходит эти параметры. Есть какие-нибудь подсказки о том, почему это происходит? Я убедился, что мой веб-сервер работает с файлами .htaccess, и служба поддержки даже рекомендовала мне использовать эти параметры…

Что я использую в файле .htaccess:

 php_value post_max_size 8M
php_value upload_max_filesize 8M
php_value max_file_uploads 1 
 

Мой скрипт загрузки:

 <?php
$secret_key = "REDACTED"; //32-char
$sharexdir = "REDACTED";
$domain_url = "REDACTED"; 
$lengthofstring = 7;
$space= "x20";
$linkembedu2800 =؜;

function RandomString($length) {
    $keys = array_merge(range(0,9), range('a', 'z'));

    $key = '';
    for($i=0; $i < $length; $i  ) {
        $key .= $keys[mt_rand(0, count($keys) - 1)];
    }
    return $key;
}

if(isset($_POST['secret']))
{
    if($_POST['secret'] == $secret_key)
    {
        $filename = RandomString($lengthofstring);
        $target_file = $_FILES["sharex"]["name"];
        $fileType = pathinfo($target_file, PATHINFO_EXTENSION);

        if (move_uploaded_file($_FILES["sharex"]["tmp_name"], $sharexdir.$filename.'.'.$fileType))
        {
            echo $domain_url.$sharexdir.$filename.'.'.$fileType.$space.$linkembedu2800;
        }
            else
        {
            echo 'ERROR: INTERNAL SERVER ERROR';
        }
    }
    else
    {
        echo 'ERROR: INVALID SECRET KEY';
    }
}
else
{
    echo 'ERROR: NO POST DATA RECIEVED';
}
?>
 

Комментарии:

1. var_dump(ini_get('upload_max_filesize')) чтобы убедиться, что это то, о чем вы думаете.

2. Иногда это не работает в .htaccess. Почему бы не использовать php.ini?

3. «служба поддержки даже рекомендовала мне использовать эти параметры…» — значит, вы используете mod_php?