我正在寻找一个脚本来限制我的联系表格附件中的文件扩展名类型和大小?

时间:2018-06-20 13:50:05

标签: php

这是我当前正在尝试使用的脚本:

$allowed =  array('gif','png' ,'jpg'); // Allowed file extensions
$filename = $_FILES['video_file']['image'];//File name 
$ext = pathinfo($filename, PATHINFO_EXTENSION);

// File path information
//if file extension is equal to allowed file extensions 
if(!in_array($ext,$allowed) ) {
    echo 'error';
}

但是这不起作用,只是停止了表单提交;否则,表单将毫无问题地发送附件。

1 个答案:

答案 0 :(得分:0)

您正在将文件 array 发送到pathinfo(),而不是文件 name 。您应该这样做:

$ext = pathinfo($_FILES['your_file']['name'], PATHINFO_EXTENSION);

您可以使用echo '<pre>' . print_r($_FILES['file'], true) . '</pre>';进行调试,以查看$_FILES如何处理上传。输出:

Array
(
    [name] => filename.ext        // <-- This is what you want to give to pathinfo()
    [type] => type
    [tmp_name] => tmp\path.tmp
    [error] => 0
    [size] => 33942
)