Почему мой PHP-скрипт не загружает видеофайлы?

Этот скрипт PHP отлично работает с аудиофайлами, но когда я изменил его для обработки видеофайлов, он продолжает присылать мне ошибку «Это запрещено». Вот мой код:

$file = $_POST['filev'];

            $fileName = $_FILES['filev']['name'];
            $fileTmpName = $_FILES['filev']['tmp_name'];
            $fileSize = $_FILES['filev']['size'];
            $fileError = $_FILES['filev']['error'];
            $fileType = $_FILES['filev']['type'];

            $fileExt = explode('.', $fileName);
            $fileActualExt = strtolower(end($fileExt));

            $allowed = array('mp4', 'MP4', 'mpeg', 'wmv', 'ogg', 'webM', 'mov', 'swf');

            if (in_array($fileActualExt, $allowed)) {
                if ($fileError === 0) {
                    if ($fileSize < 75000000000000000) {
                        $fileNameNew = uniqid('', true).".".$fileActualExt;

                        //insert post
                        $fileDestination = 'uploads/'.$fileNameNew;
                        move_uploaded_file($fileTmpName, $fileDestination);
                        $query = mysqli_query($this->con, "INSERT INTO posts 
VALUES('', '$fileDestination', '$added_by', '$user_to', '$date_added', 'no', 
'no', '0')");

                        $returned_id = mysqli_insert_id($this->con);

                        //update post count for user
                        $num_posts = $this->user_obj->getNumPosts();
                        $num_posts++;
                        $update_query = mysqli_query($this->con, "UPDATE 
users SET num_posts='$num_posts' WHERE username='$added_by'");



                        header("Location: video.php?success");

                    } else {
                        echo "Your file is too big";
                    }
                } else {
                    echo "There was an error uploading your file";
                }
            }
             else {
                echo "This is not allowed";
            }

Файл, который я пытался загрузить, является файлом mp4, но он по-прежнему дает мне сообщение «Это недопустимая ошибка», хотя я включил его в переменную $ allowed. Любая помощь в решении моей проблемы будет принята с благодарностью.

вы распечатали $fileActualExt , чтобы убедиться, что это действительно mp4?

Julien 22.05.2018 02:02

да, это был mp4

elwood 22.05.2018 05:25

Не могли бы вы добавить var_dump($fileActualExt); сразу после $fileActualExt = strtolower(end($fileExt)); и опубликовать то, что отображается точно, как оно отображается?

Phil 22.05.2018 08:24

Кроме того, странно, что ваш массив $allowed содержит строки с символами в верхнем регистре, учитывая, что вы используете strtolower() в строке для проверки

Phil 22.05.2018 08:25

Он напечатал это: строка (0) ""

elwood 23.05.2018 01:58
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
5
219
1

Ответы 1

Попробуйте поместить .flv в переменную $ allowed

Другие вопросы по теме