代码之家  ›  专栏  ›  技术社区  ›  Potato

无法上载视频文件

php
  •  -1
  • Potato  · 技术社区  · 7 年前

    我目前正在使用这个代码为我上传视频和图像,图像工程罚款,但视频不。

    如果MP4 | | AVI | | | WEBM | | | | AVI必须进入第一个,但它没有。你们能帮帮我吗?我被困在这里了

    if(is_array($_FILES)) {
    
                foreach ($_FILES['file']['name'] as $name => $value){
                    if(is_uploaded_file($_FILES['file']['tmp_name'][$name])) {
    
                        $name= $_FILES['file']['name'][$name];
                        $tmp_name= $_FILES['file']['tmp_name'][$name];
                        $position= strpos($name, ".");
                        $fileextension= substr($name, $position + 1);
                        $fileextension= strtolower($fileextension);
    
                        if (($fileextension == "mp4") && ($fileextension == "ogg") && ($fileextension == "webm")) {
    
                            $sourcePath = $_FILES['file']['tmp_name'][$name];
                            $file_parts = pathinfo($_FILES["file"]["name"][$name]);
                            $file_ext = pathinfo($_FILES["file"]["name"][$name]);
    
                            $targetPath = "../users/".$this->uid."/post/".$this->convertemail($filename) . "_" . $this->keys() . "_" . round(microtime(true)) . substr(md5(rand()), 0, 4) . "." .$file_ext['extension'];
                            move_uploaded_file($sourcePath, $targetPath);
    
                        } else {
    
                            $sourcePath = $_FILES['file']['tmp_name'][$name];
                            $filename=$_FILES["file"]["tmp_name"][$name];
                            $file_ext = pathinfo($_FILES["file"]["name"][$name]);
    
                            $targetPath = "../users/".$this->uid."/post/".$this->convertemail($filename) . "_" . $this->keys() . "_" . round(microtime(true)) . substr(md5(rand()), 0, 4) . "." .$file_ext['extension'];
                            $d = $this->compress($sourcePath, $targetPath, 90);
                        }
    
    
                    }
                }
            }
    
    2 回复  |  直到 7 年前
        1
  •  1
  •   Sandu Andrei Luis    7 年前

    替换“&&”在这行代码中加上“或”:

    if (($fileextension == "mp4") && ($fileextension == "ogg") && ($fileextension == "webm")) {
    
        2
  •  0
  •   Potato    7 年前
    $items = array();
    
                foreach ($_FILES['file']['name'] as $name => $value){
                    if(is_uploaded_file($_FILES['file']['tmp_name'][$name])) {
    
    
                        $sourcePath = $_FILES['file']['tmp_name'][$name];
                        $filename=$_FILES["file"]["tmp_name"][$name];
                        $file_ext = pathinfo($_FILES["file"]["name"][$name]);
    
                        $items[] = $file_ext['extension'];
                        $allowed_vid = array("webm","mp4");
    
    
                        $targetPath = "../users/".$this->uid."/post/".$this->convertemail($filename) . "_" . $this->keys() . "_" . round(microtime(true)) . substr(md5(rand()), 0, 4) . "." .$file_ext['extension'];
    
    
                        if(!empty($this->in_array_any( $items, $allowed_vid ))) {
                            move_uploaded_file($sourcePath, $targetPath);
                        } else {
                            $d = $this->compress($sourcePath, $targetPath, 90);
                        }
    
    
    
                    }
                }
    
    推荐文章