上传多个文件 - 获取不同的值

时间:2015-08-31 09:56:11

标签: php arrays file-upload

我正在尝试将视频上传到我的数据库。 我正在使用多输入文件

<input type="file" id="video_imagen" name="video_imagen[]" multiple="multiple" required />

我有这个代码来上传图片和视频,但是我无法使用这个数组。你能帮助我吗? 我甚至不知道如何获取数组的内容。 当我使用这个

if(isset($_POST["boton_upload_video"])){ print_r($_POST["video_imagen[]"]); }

它告诉我变量未定义......

这是我的PHP函数

    public static function SubirVideo($titulo, $video_directorio, $imagen_directorio, $user, $descripcion, $size){
        $sql = "INSERT INTO video (titulo, directorio, imagen, visitas, likes, usuario_id, fecha_subida, descripcion, tamaño) VALUES ('$titulo', '$video_directorio', '$imagen_directorio', '0', '0', '$user', NOW(), '$descripcion', '$size')";
        $resultado = self::Conexion($sql);
        return $resultado;
    }

    public static function SubirVideoErrores(){
        $error = "";

        if(isset($_POST["boton_upload_video"])){
            $uploadImagen = $_FILES['video_imagen']['name'];
            $tipoImagen = $_FILES['video_imagen']['type'];

            $uploadVideo = $_FILES['video_file']['name'];
            $tipoVideo = $_FILES['video_file']['type'];
            $size = $_FILES['video_file']['size'];

            $titulo = $_POST["video_title"];
            $descripcion = $_POST["video_description"];

            $directorio = $_SERVER['DOCUMENT_ROOT']."/tapeHD/include/database/usuarios/".$_SESSION["usuario"]."/videos";

            if($tipoImagen == "image/jpeg"){
                $file_tmp = $_FILES['video_imagen']['tmp_name'];
                list($width, $height) = getimagesize($file_tmp);

                if($_FILES['video_imagen']['size'] < (1024000)){

                    if($width != 320 && $height != 180){
                        $error = "<div id='error_alert'><div class='error_container'><i class='fa fa-times awesome error_close btn'></i><div class='error_text'>La imagen debe de ser 320x180</div></div></div>";
                    } else {
                        if($tipoVideo == "video/mp4"){  
                            $directorio2 = $directorio."/".$titulo;

                            if(!is_dir($directorio2)) {
                                mkdir($directorio2);
                                //move_uploaded_file($_FILES['video_file']['tmp_name'], $directorio2."/".$uploadVideo);
                                move_uploaded_file($_FILES['video_imagen']['tmp_name'], $directorio2."/".$uploadImagen);
                                $video_directorio = "include/database/usuarios/".$_SESSION["usuario"]."/videos/".$titulo."/".$uploadVideo;
                                $imagen_directorio = "include/database/usuarios/".$_SESSION["usuario"]."/videos/".$titulo."/".$uploadImagen;
                                DataBase::SubirVideo($titulo, $video_directorio, $imagen_directorio, $_SESSION["usuario"], $descripcion, $size);
                                $error = "<div id='error_alert'><div class='error_container'><i class='fa fa-times awesome error_close btn'></i><div class='error_text'>Tu video ha sido subido</div></div></div>";
                            } else {
                                echo "entro3";
                                $error = "<div id='error_alert'><div class='error_container'><i class='fa fa-times awesome error_close btn'></i><div class='error_text'>Ya tienes un video con ese mismo nombre...</div></div></div>";
                            }
                        } else {
                            $error = "<div id='error_alert'><div class='error_container'><i class='fa fa-times awesome error_close btn'></i><div class='error_text'>El video debe estar en formato .mp4</div></div></div>";
                        }
                    }
                } else {
                    $error = "<div id='error_alert'><div class='error_container'><i class='fa fa-times awesome error_close btn'></i><div class='error_text'>La imagen pesa demasiado</div></div></div>";
                }
            } else {
                $error = "<div id='error_alert'><div class='error_container'><i class='fa fa-times awesome error_close btn'></i><div class='error_text'>La imagen debe ser .jpg </div></div></div>";
            }
        }
        return $error;  
    }

1 个答案:

答案 0 :(得分:0)

这是打印数组的正确方法,请求中的大括号将参数定义为数组,因此$ _POST [“video_imagen”]是使用大括号和没有大括号的字符串请求时的数组

java.lang.IllegalArgumentException: Unsupported expression sum(a.amount)
    at com.mysema.query.types.QBean.createBindings(QBean.java:70)