@accountnujen

Какие могут быть ошибки при прикреплении файла к письму?

Кусок кода phpmailer
for ($ct = 0, $ctMax = count($_FILES['userfile']['tmp_name']); $ct < $ctMax; $ct++) {
    $ext = PHPMailer::mb_pathinfo($_FILES['userfile']['name'][$ct], PATHINFO_EXTENSION);
    $uploadfile = tempnam(sys_get_temp_dir(), hash('sha256', $_FILES['userfile']['name'][$ct])) . '.' . $ext;
    $filename = $_FILES['userfile']['name'][$ct];
    if (move_uploaded_file($_FILES['userfile']['tmp_name'][$ct], $uploadfile)) {
        if (!$mail->addAttachment($uploadfile, $filename)) {
            $msg .= 'Failed to attach file ' . $filename;
        }
    } else {
        $msg .= 'Failed to move file to ' . $uploadfile;
    }
}


1. В каких случаях возникнет $msg .= 'Failed to move file to ' . $uploadfile;? Что конкретно должно быть не так? Сразу могу ответить, что к размеру файла это не относится, потому что у этих ошибок нулевой уровень. Файл тупо не дойдёт до проверки if (move_uploaded_file(... {. Поэтому интересуют причины, по которым файл будет незагружен.

2. Если ошибки будут включены, то причина не загрузки файла будет выведена на экран? Имеется в виду, относится ли эта причина к типам ошибок E_WARNING, E_NOTICE и т.д.?
  • Вопрос задан
  • 95 просмотров
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
1. В каких случаях возникнет $msg .= 'Failed to move file to ' . $uploadfile;?
В случае когда
move_uploaded_file($_FILES['userfile']['tmp_name'][$ct], $uploadfile)
вернет фалс.

Что конкретно должно быть не так?
https://www.php.net/manual/ru/function.move-upload...

Имеется в виду, относится ли эта причина к типам ошибок E_WARNING, E_NOTICE и т.д.?
Там все написано.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы