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

时间:2019-04-28 23:17:33

标签: php arrays

(我知道sql注入只是一个测试文件,稍后将解决该问题。)

我正在一个允许用户发布内容的网站上。他们可以选择上传照片或视频。我有一个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();
            }

?>

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

您无法将此$ _FILES ['file']传递给函数并将其存储在名为$ imgs之类的东西中,并不能使用它:

printVecInfo <- function(x) {
   cat(sprintf("Mean of x: %f\n", mean(x)))
   cat(sprintf("Median of x: %f\n", median(x)))
   return(list(mean = mean(x), median = median(x)))
}
printVecInfo(1:5)
#Mean of x: 3.000000
#Median of x: 3.000000
#$mean
#[1] 3
#
#$median
#[1] 3

打来电话

$imgs = $_FILES['file'];