php - 使用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
}
}
?>
解决方案
我知道使用 $_FILES['file']['type'] 查找文件扩展名存在错误。
下面的代码帮助我找到了文件扩展名。我的问题现在得到了回答。
$file_type = pathinfo($file, PATHINFO_EXTENSION);
推荐阅读
- git - 在 bitbucket 管道上定义同步目录
- pandas - 重新采样和插值 pandas df
- makefile - 安装时说未设置 CUDADIR 环境变量
- python - Python:将初始numpy数组分配给另一个变量,更改新变量的几个元素会更改初始numpy数组
- algorithm - 分配最佳卫生间的算法
- python - 如何在python中附加到列表时格式化字符串和小数
- javascript - react-loadable 已加载块但未执行代码
- matlab - 如何在 MATLAB 中求解 ODE?
- android - 保存和加载 RadioGroup 的正确方法
- npm - 无法从 webpack 3 升级到 3.12.0