首页 > 解决方案 > 使用php上传文件后无法将某些扩展文件的详细信息存储到数据库中

问题描述

我下面的代码都是关于上传文件并查看和下载它。我能够上传文件。我将文件名、文件大小、文件类型存储到数据库。所以我的问题是当我尝试上传 .jmx 文件和 .zip 文件时,它将被上传到所需的目录,但问题是它不会将文件详细信息存储到数据库中。任何人都可以在这方面帮助我。提前致谢。

上传.php

<?php
include_once 'dbconfig.php';
if(isset($_POST['btn-upload']))
{    
 $file = rand(1000,100000)."-".$_FILES['file']['name'];
 $file_loc = $_FILES['file']['tmp_name'];
 $file_size = $_FILES['file']['size'];
 $file_type = $_FILES['file']['type'];
 $folder="C:\wamp64\www\uploads/";

 // new file size in KB
 $new_size = $file_size/1024;  
 // new file size in KB

 // make file name in lower case
 $new_file_name = strtolower($file);
 // make file name in lower case

 $final_file=str_replace(' ','-',$new_file_name);

 if(move_uploaded_file($file_loc,$folder.$final_file))
 {
  //$sql="INSERT INTO tbl_uploads(file,type,size) VALUES('$final_file','$file_type','$new_size')";
  $sql="INSERT INTO tbl_uploads(file,type,size) VALUES('$final_file','$file_type','$new_size')";
  mysqli_query($GLOBALS['db'],$sql);
  ?>
  <script>
  alert('successfully uploaded');
        window.location.href='index.php?success';
  </script>
  <?php
 }
 else
 {
  ?>
  <script>
  alert('error while uploading file');
        window.location.href='index.php?fail';
        </script>
  <?php
 }
}
?>

标签: phphtmlmysqlupload

解决方案


我知道使用 $_FILES['file']['type'] 查找文件扩展名存在错误。

下面的代码帮助我找到了文件扩展名。我的问题现在得到了回答。

$file_type = pathinfo($file, PATHINFO_EXTENSION);


推荐阅读