Php 尝试上载视频及其图像时出错

Php 尝试上载视频及其图像时出错,php,file-upload,Php,File Upload,我正在尝试将视频及其图像上载到我的数据库。但它不起作用$error变量的内容甚至没有出现。 我有这个错误:注意:getimagesize():读取错误 我无法修复它。。。你能帮我吗 这就是我在HTML文件中调用的函数,在表单标记之前(在那里打印包含$error变量内容的div) PHP 公共静态函数SubirVideo($titulo、$video\u directorio、$imagen\u directorio、$user、$description){ //ID自动递增 $sql=“插入视频

我正在尝试将视频及其图像上载到我的数据库。但它不起作用
$error
变量的内容甚至没有出现。 我有这个错误:
注意:getimagesize():读取错误

我无法修复它。。。你能帮我吗

这就是我在HTML文件中调用的函数,在表单标记之前(在那里打印包含
$error
变量内容的div)

PHP

公共静态函数SubirVideo($titulo、$video\u directorio、$imagen\u directorio、$user、$description){
//ID自动递增
$sql=“插入视频(名称、导演、图像、访问、喜欢、常用id、fecha_subida、description)值($titulo、$video_directorio、$imagen_directorio、0、0、$user、NOW(),$description)”;
$resultado=self::Conexion($sql);
返回$resultado;
}
公共静态函数subirVideoErrors(){
$error=“”;
如果(isset($\u POST[“boton\u上传\u视频])){
$titulo=$_POST[“视频标题”];
$description=$\u POST[“视频描述”];
$uploadImagen=$\u文件['video\u imagen']['name'];
$tipoImagen=$\u文件['video\u imagen']['type'];
$uploadVideo=$_文件['video_文件]['name'];
$tipoVideo=$\u文件['video\u文件]['type'];
如果(!empty($uploadVideo)和&!empty($uploadImagen)){
$directorio=$\u服务器['DOCUMENT\u ROOT'].“/tapeHD/include/database/usuarios/”$\u会话[“usuario”]。“/videos”;
如果($tipoImagen!=“图像/jpeg”){
$error=“La imagen debe ser de formato.jpg”;
打印$error;
}否则{
$file\u tmp=$\u FILES['video\u imagen']['tmp\u name'];
列表($width,$height)=getimagesize($file\u tmp);
如果($_文件['video\u imagen']['size']>(1024000)){
$error=“La imagen pesa demasiado”;
打印$error;
}否则{
如果($width==320 | |$height==180){
如果($tipoVideo==“视频/mp4”){
移动上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
移动上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
$video\u directorio=“include/database/usuarios/”$\u会话[“usuario”]。“/videos/”$uploadFile;
$imagen_directorio=“include/database/usuarios/”$\u会话[“usuario”]。“/videos/”$uploadImagen;
数据库::SubirVideo($titulo,$video\u directorio,$imagen\u directorio,$\u SESSION[“usuario”],$description);
$error=“Tu video ha sido subido”;
打印$error;
}否则{
$error=“El video debe estar en formato.mp4”;
打印$error;
}
}否则{
$error=“La imagen debe de ser 320x180”;
打印$error;
}
}
}
}
}
}

再次检查文件是否存在且有效。我还建议您更改代码,这样它就不会有那么多子块。例如,代替if(ALL_OK){..}else{shourror}执行if(!ALL_OK){shourror;return}。。。。这样代码的可读性就会大大提高。我按照你说的方式进行了更新。安东尼奥,这里的代码可读性不是真正的问题,这只是一个提示。其思想是在打印后
返回
,这样就不需要
其他
,也不需要新的块,因此不需要缩进。回到原始问题:您是否仔细检查了
$\u FILES['video\u imagen']['tmp\u name']
上的文件是否有效,并且是否包含有效的图像数据?我该怎么做?我真的不明白你的意思,仔细检查一下文件是否存在并且有效。我还建议您更改代码,这样它就不会有那么多子块。例如,代替if(ALL_OK){..}else{shourror}执行if(!ALL_OK){shourror;return}。。。。这样代码的可读性就会大大提高。我按照你说的方式进行了更新。安东尼奥,这里的代码可读性不是真正的问题,这只是一个提示。其思想是在打印后
返回
,这样就不需要
其他
,也不需要新的块,因此不需要缩进。回到原始问题:您是否仔细检查了
$\u FILES['video\u imagen']['tmp\u name']
上的文件是否有效,并且是否包含有效的图像数据?我该怎么做?我不太了解你
    public static function SubirVideo($titulo, $video_directorio, $imagen_directorio, $user, $descripcion){
        //ID AUTO INCREMENT
        $sql = "INSERT INTO video(nombre, directorio, imagen, visitas, likes, usuario_id, fecha_subida, descripcion) VALUES ($titulo, $video_directorio, $imagen_directorio, 0, 0, $user, NOW(), $descripcion)";
        $resultado = self::Conexion($sql);
        return $resultado;
    }

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

        if(isset($_POST["boton_upload_video"])){
            $titulo = $_POST["video_title"];
            $descripcion = $_POST["video_description"];

            $uploadImagen = $_FILES['video_imagen']['name'];
            $tipoImagen = $_FILES['video_imagen']['type'];

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

            if(!empty($uploadVideo) && !empty($uploadImagen)){
                $directorio = $_SERVER['DOCUMENT_ROOT']."/tapeHD/include/database/usuarios/".$_SESSION["usuario"]."/videos";

                if($tipoImagen != "image/jpeg"){
                    $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 de formato .jpg</div></div></div>";
                    print $error;
                } else {
                    $file_tmp = $_FILES['video_imagen']['tmp_name'];
                    list($width, $height) = getimagesize($file_tmp);

                    if($_FILES['video_imagen']['size'] > (1024000)){
                        $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>";
                        print $error;
                    } else {
                        if($width == 320 || $height == 180){
                            if($tipoVideo == "video/mp4"){
                                move_uploaded_file($_FILES['video_file']['tmp_name'], $directorio."/".$uploadVideo);
                                move_uploaded_file($_FILES['video_imagen']['tmp_name'], $directorio."/".$uploadImagen);
                                $video_directorio = "include/database/usuarios/".$_SESSION["usuario"]."/videos/".$uploadFile;
                                $imagen_directorio = "include/database/usuarios/".$_SESSION["usuario"]."/videos/".$uploadImagen;
                                DataBase::SubirVideo($titulo, $video_directorio, $imagen_directorio, $_SESSION["usuario"], $descripcion);
                                $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>";
                                print $error;
                            } 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>";
                                print $error;
                            }
                        } 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 de ser 320x180</div></div></div>";
                            print $error;
                        }
                    }
                }
            }
        }
    }