1

Тема: post_max_size

Привіт! Хочу зробити так. щоб показало помилку, якщо файл перевищує допустимі розміри.

IF($_FILES['users_photo']['size'] >= return_bytes(ini_get('post_max_size'))){
 ........
}

А коли файл перевищує допустимі розміри, $_FILES['users_photo']['size'] = 0
Підкажіть, будь ласка, чи можливо це виправити?

2

Re: post_max_size

if ($_FILES['users_photo']['size'] > 1024 * 800) 
{
echo 'Великий розмір файлу';
}
//в даному випадку 800 кб

3 Востаннє редагувалося savelikan (09.01.2015 11:01:28)

Re: post_max_size

VTrim написав:
if ($_FILES['users_photo']['size'] > 1024 * 800) 
{
echo 'Великий розмір файлу';
}
//в даному випадку 800 кб

Мені потрібно, щоб воно перевіряло чи не більший розмір файлу від того, що встановлений у PHP.ini - post_max_size
Бо коли більший - воно вертає $_FILES['users_photo']['size'] = 0

4

Re: post_max_size

Навіть

echo $_FILES['users_photo']['error'];

порожнє

5

Re: post_max_size

http://php.net/manual/en/features.file-upload.php

http://php.net/manual/en/ini.core.php#i … x-filesize

upload_max_filesize integer

    The maximum size of an uploaded file.
    When an integer is used, the value is measured in bytes. Shorthand notation, as described in this FAQ, may also be used.

6

Re: post_max_size

Invader написав:

http://php.net/manual/en/features.file-upload.php

http://php.net/manual/en/ini.core.php#i … x-filesize

upload_max_filesize integer

    The maximum size of an uploaded file.
    When an integer is used, the value is measured in bytes. Shorthand notation, as described in this FAQ, may also be used.

не зрозмів до чого це, але я сам зрозумів помилку
Я перевіряв $_FILES['users_photo']['error'] після перевірки розміру файлу. Воно вертає код помилки і там можна визначити причину помилки)

7

Re: post_max_size

if( $_FILES['userfile']['error'] == UPLOAD_ERR_OK )
{
  //завантажився нормально
}
else
{
  switch( $_FILES['userfile']['error'] )
  {
    case UPLOAD_ERR_INI_SIZE://вам це треба
    break;//але решту теж обробляйте, не лінуйтеся
    case UPLOAD_ERR_FORM_SIZE://перевищено MAX_FILE_SIZE, вказаний в HTML
    break;
    case UPLOAD_ERR_PARTIAL://файл недовантажився
    break;
    case UPLOAD_ERR_NO_FILE://файл взагалі не завантажився
    break;
    case UPLOAD_ERR_NO_TMP_DIR://немає тимчасової папки
    break;
    case UPLOAD_ERR_CANT_WRITE://не вдалося записати файл в папку
    break;
    case UPLOAD_ERR_EXTENSION://якесь з розширень PHP (не файла!) зупинило завантаження
    break;
    default://сталася невідома помилка
    break;
  }
}

8 Востаннє редагувалося savelikan (09.01.2015 11:50:13)

Re: post_max_size

А якщо не було вибрано файлу - що поверне if( $_FILES['userfile']['error'] == UPLOAD_ERR_OK )?
Наприклад, при реэстрації користувач може вибрати фото, а може і не вибрати

9

Re: post_max_size

savelikan написав:

А якщо не було вибрано файлу - що поверне if( $_FILES['userfile']['error'] == UPLOAD_ERR_OK )?
Наприклад, при реэстрації користувач може вибрати фото, а може і не вибрати

UPLOAD_ERR_NO_FILE, як я розумію