【问题标题】:upload video to specific folder in PHP将视频上传到 PHP 中的特定文件夹
【发布时间】:2016-03-14 08:46:18
【问题描述】:

所以我有一个 Android 应用程序,可以将选定的视频上传到我的服务器。视频现在可以正常上传,但它没有被放置到我上传视频时创建的新目录中。即使我认为 move_uploaded_file 中的位置现在是错误的,它仍然会上传到 ProductVideos。

我希望它创建一个新目录,然后将视频存储在那里。 (新目录有 777 个权限,尽管我知道它很糟糕,并且新目录是在 /var/www/html/ProductVideos/ 中创建的)

PHP 代码:

<?php

if($_SERVER['REQUEST_METHOD']=='POST'){
$file_name = $_FILES['myFile']['name'];
$file_size = $_FILES['myFile']['size'];
$file_type = $_FILES['myFile']['type'];
$temp_name = $_FILES['myFile']['tmp_name'];


    $ProductAccountName = $_POST['ProductAccountName'];
    $ProductName = $_POST['ProductName'];

    $NewDirectory = "/var/www/html/ProductVideos/" . $ProductAccountName;
    mkdir($NewDirectory, 0777, true);


    $conn = mysqli_connect("XXXXXX", "XXXXXX", "XXXXXX", "Products");

    $sql_query = "select Product_Name from Product_Details where Product_Name like '$ProductName';";

    $result = mysqli_query($conn, $sql_query);

    if(mysqli_num_rows($result) > 0 ){
    $statement = mysqli_prepare($conn, "UPDATE Product_Details SET 7sec_File_Path = ? WHERE Product_Name = '$ProductName'");

    $FileLocation = $NewDirectory."/".$ProductName;

    mysqli_stmt_bind_param($statement, "s", $FileLocation);
    mysqli_stmt_execute($statement);
    mysqli_stmt_close($statement);
    }
    mysqli_close($conn);



 $location = "/var/www/html/ProductVideos/".$ProductAccountName."/";
 move_uploaded_file($temp_name, $location.$file_name);
 //move_uploaded_file($location.$file_name,       "/var/www/html/ProductVideos/".$ProductAccountName."/");
 echo   "Uploaded!";
 }else{
 echo "Error";
 }
?>

【问题讨论】:

    标签: php video


    【解决方案1】:

    试试这个...

    <?php
        if($_SERVER['REQUEST_METHOD']=='POST')
        {
            if (isset($_FILES['myFile']))
            {
                $file_name = $_FILES['myFile']['name'];
                $file_size = $_FILES['myFile']['size'];
                $file_type = $_FILES['myFile']['type'];
                $temp_name = $_FILES['myFile']['tmp_name'];
            }
    
            $ProductAccountName = isset($_POST['ProductAccountName'])?$_POST['ProductAccountName']:rand();
            $ProductName = isset($_POST['ProductName']):$_POST['ProductName']:rand();
    
            $NewDirectory = "/var/www/html/ProductVideos/" . $ProductAccountName;
            if (!file_exists($NewDirectory)) 
            {
                mkdir($NewDirectory, 0777, true);
            }
    
            $conn = mysqli_connect("XXXXXX", "XXXXXX", "XXXXXX", "Products");
    
            $sql_query = "select Product_Name from Product_Details where Product_Name like '$ProductName';";
    
            $result = mysqli_query($conn, $sql_query);
    
            if(mysqli_num_rows($result) > 0 )
            {
                $statement = mysqli_prepare($conn, "UPDATE Product_Details SET 7sec_File_Path = ? WHERE Product_Name = ?");
    
                $FileLocation = $NewDirectory."/".$ProductName;
    
                mysqli_stmt_bind_param($statement, "s", $FileLocation,$ProductName);
                mysqli_stmt_execute($statement);
                mysqli_stmt_close($statement);
            }
            mysqli_close($conn);
    
            move_uploaded_file($temp_name, $NewDirectory.$file_name);
            //move_uploaded_file($location.$file_name,       "/var/www/html/ProductVideos/".$ProductAccountName."/");
            echo   "Uploaded!";
         }
         else
         {
            echo "Error";
         }
    ?>
    

    希望它对你有用。

    【讨论】:

    • 不,它只是添加了一个新目录并更改了视频标题的名称
    猜你喜欢
    • 1970-01-01
    • 2014-09-30
    • 2015-07-15
    • 2017-03-18
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多