Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP可以';t上传视频和音频文件_Php_Upload - Fatal编程技术网

PHP可以';t上传视频和音频文件

PHP可以';t上传视频和音频文件,php,upload,Php,Upload,我面临一个问题,当我试图上传音频或视频文件到我的网站,他们不上传 我已将这些行添加到.htaccess文件中 php_value upload_max_filesize 1000M php_value post_max_size 2000M php_value memory_limit 3000M php_value max_execution_time 1800 php_value max_input_time 1800 最糟糕的是,我甚至不能上传小于1MB的音频或视频文件,但其他文件可以像

我面临一个问题,当我试图上传音频或视频文件到我的网站,他们不上传

我已将这些行添加到.htaccess文件中

php_value upload_max_filesize 1000M
php_value post_max_size 2000M
php_value memory_limit 3000M
php_value max_execution_time 1800
php_value max_input_time 1800
最糟糕的是,我甚至不能上传小于1MB的音频或视频文件,但其他文件可以像图像和文本一样工作

我正在使用dopzone脚本进行上载这是我的上载代码:

<?php
include("includes/connect.php");
if(!empty($_FILES))
{   
    date_default_timezone_set('Europe/Riga');
        
    session_start();
    $token_unhashed = $_SESSION['share_token'];
    
    $sql_multiple = "SELECT share_token,share_views,share_expire,share_date FROM shares WHERE share_token='$token'";
    $result = $conn->query($sql_multiple);
    $exist = mysqli_num_rows($result);
    if ($exist>=1)
    {
        $share_views = 0;
        $datetime = date('Y-m-d H:i:s');
        $expire_time = date("Y-m-d H:i:s", strtotime('+24 hours'));
    }
    else
    {
        $share_views = 0;
        $datetime = date('Y-m-d H:i:s');
        $expire_time = date("Y-m-d H:i:s", strtotime('+24 hours'));
        
        mkdir("web/shares/".$token_unhashed, 0777, true);
    }
    
    $UploadName = $_FILES['file']['name'];
    $UploadTmp = $_FILES['file']['tmp_name'];
    
    move_uploaded_file($UploadTmp, "web/shares/".$token_unhashed."/$UploadName");
    include("includes/generator.php");
        
    $sql = "INSERT INTO shares (share_token,share_uid,share_views,share_downloads,share_name,share_expire,share_date) 
    VALUES ('$token','$share_uid','$share_views','0','$UploadName','$expire_time','$datetime')";

    include("includes/logs.php");

    $ip = $_SERVER['REMOTE_ADDR'];
    $address = ip_info($ip, "address");
    $browser = get_browser_name($_SERVER['HTTP_USER_AGENT']);
    $os = getOS($_SERVER['HTTP_USER_AGENT']);

    $sql_logs = "INSERT INTO share_logs (ip,upload_name,browser,os,address,date) 
    VALUES ('$ip','$UploadName','$browser','$os','$address','$datetime')";

    $sql_update_total_uploads = "UPDATE stats SET total_uploads=total_uploads+1";
    mysqli_query($conn, $sql_update_total_uploads);
    mysqli_query($conn,$sql);
    mysqli_query($conn,$sql_logs);
    mysqli_close($conn);
}
?>
所以我想出来了 当您尝试上载包含>'<名称的文件时,它将不会上载,因此我添加了这一行以更改文件名,现在一切正常

    $UploadName_old = $_FILES['file']['name'];
    $UploadTmp = $_FILES['file']['tmp_name'];

    $UploadName = str_replace("'", "-", $UploadName_old);

只是试着上传不同的文件,有些音频/视频文件是上传的,但有些不是。例如,我试着上传1MB音频文件,但当我试着上传不同的1.4MB时,却无法上传
    $UploadName_old = $_FILES['file']['name'];
    $UploadTmp = $_FILES['file']['tmp_name'];

    $UploadName = str_replace("'", "-", $UploadName_old);