猿问

为什么我的if语句忽略了我的变量?

我正在一个允许用户发布内容的网站上。他们可以选择上传照片或视频。我有一个if语句,用于检查文件扩展名是否与允许的扩展名数组匹配,然后再将其发布到特定文件夹中。唯一的问题是if语句检测到包含变量的某种问题。有没有人可以提供解释或理论帮助?


我已经通过该网站搜索了所有具有相似标题的内容,但没有发现任何可以真正解决我的特定问题的东西。


这是返回false的特定if语句。


if (in_array($fileActualExt, $allowed)) {

我相信这是所有相关的代码,如果您需要除此以外的其他信息,请告诉我。


<?php


    function setUploads($conn) {

        if (isset($_POST['uploadSubmit'])) {


            $file = $_FILES['file'];

            $fileName = $file['name'];

            $fileTmpName = $file['tmp_name'];

            $fileSize = $file['size'];

            $fileError = $file['error'];

            $fileType = $file['type'];

                        $fileExt = explode('.', $fileName);

            $fileActualExt = strtolower(end($fileExt));


            $allowed = array('jpg', 'jpeg', 'png', 'pdf', 'gif', 'mp4', 'mov', 'avi', 'mpeg4');

            $pictureExt = array('jpg', 'jpeg', 'png', 'gif');

            $videoExt = array('mp4', 'mov', 'avi', 'mpeg4');


            if (in_array($fileActualExt, $allowed)) {

                if ($fileError === 0) {

                    if ($fileSize < 5000000) { }

                        else {

                            $fileid = 0;

// I removed irrelevant code here

                        }

                    } 

                    else {

                        header("Location: index.php?error1");

                        exit();

                    }

                }

                else {

                    header("Location: index.php?error2");

                    exit();

                }

            }

            else {

                header("Location: index.php?error3");

                exit();

            }


?>


绝地无双
浏览 146回答 2
2回答

qq_笑_17

检查$ _FILES ['file']是否为空。

蝴蝶刀刀

您不能将此$ _FILES ['file']传递给函数并将其存储在名为$ imgs之类的东西中,并使用该函数:$imgs = $_FILES['file'];打电话喜欢setUploads($conn,$imgs);&nbsp; &nbsp; function setUploads($conn,$file) {&nbsp; &nbsp; &nbsp; &nbsp; if (isset($_POST['uploadSubmit'])) { . . .&nbsp;
随时随地看视频慕课网APP
我要回答