上传视频到服务器使用PHP [重复]

dfuffjeb  于 2023-10-15  发布在  PHP
关注(0)|答案(2)|浏览(94)

此问题已在此处有答案

PHP create nested directories(10个答案)
昨天关门了。
我正在开发一个网站的功能,用户可以上传他们的视频到网站和视频去服务器。它完美地工作没有问题。但我想让下面的代码不同,当用户上传视频,它必须通过创建新的文件夹目录存储到服务器中的新文件夹(与名称为用户名),我必须能够从服务器获取它通过嵌入在各自的配置文件中的视频.下面的片段通常用于通过在服务器上创建一个上传文件夹上传(上传文件夹是手动创建的,我希望它的方式,当用户上传视频时,必须直接在服务器上自动形成一个新的名称作为用户名)请帮助.

video.php
      ----------
       <form action="videophp.php" method="post" enctype="multipart/form-data">
       <label for="file"><span>Filename:</span></label>
       <input type="file" name="file" id="file" /> 
       <br />
       <input type="submit" name="submit" value="Upload" />
       </form>

        videophp.php
       -------------
       <?php

       $allowedExts = array("mp4", "flv","jpg","JPEG");
       $extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);

       if ((($_FILES["file"]["type"] == "video/mp4")

       || ($_FILES["file"]["type"] == "video/flv")
       || ($_FILES["file"]["type"] == "image/jpg")
       || ($_FILES["file"]["type"] == "image/JPEG")

         )

          && ($_FILES["file"]["size"] > 2000000)
          && in_array($extension, $allowedExts))

         {
           if ($_FILES["file"]["error"] > 0)
         {
            echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
          }
          else
         {
          echo "Upload: " . $_FILES["file"]["name"] . "<br />";
          echo "Type: " . $_FILES["file"]["type"] . "<br />";
           echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
          echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

        if (file_exists("upload/" . $_FILES["file"]["name"]))
       {
         echo $_FILES["file"]["name"] . " already exists. ";
        }
        else
      {
         move_uploaded_file($_FILES["file"]["tmp_name"],
        "upload/" . $_FILES["file"]["name"]);
        echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
        }
       }
        }
         else
           {
          echo "Invalid file";
        }
    ?>
bt1cpqcv

bt1cpqcv1#

这是你要找的东西的一部分:

$username = 'Max Mustermann';    // you'd have to get that from somewhere
$targetfolder = 'upload/'.$username;

if (!file_exists($targetfolder)) {
    mkdir($targetfolder, 0777, true);
}
if (file_exists($targetfolder . $_FILES["file"]["name"])) {
     echo $_FILES["file"]["name"] . " already exists. ";
}
else {
    move_uploaded_file($_FILES["file"]["tmp_name"],
        $targetfolder . $_FILES["file"]["name"]);

    echo "Stored in: " . $targetfolder . $_FILES["file"]["name"];
}

您仍然需要向服务器发送用户名。有了这个,你也可以访问是在他的下一次访问。

  • 但 * 我建议给予文件夹和文件的其他名称,并将它们存储在数据库中,连接到用户的数据.这样你就可以更好地控制谁可以访问什么文件(视频),你不必搜索文件系统(这比搜索n db慢)。
j0pj023g

j0pj023g2#

$uploaddir = 'uploads/';
   $filename = basename($_FILES['media']['name']);

    $raw = $uploaddir . $filename;
 $_FILES['media']['tmp_name'];
   if (move_uploaded_file($_FILES['media']['tmp_name'], $raw))
        $url = "http://".$_SERVER['HTTP_HOST']."/newsapp/".$raw;

相关问题