【发布时间】:2019-05-24 10:08:26
【问题描述】:
我是 php + mysql 的新手,我有这个脚本可以将文件上传到服务器并将数据插入数据库。一切正常,只是我不知道如何将文件大小限制为 3MB。代码如下:
// limit file types
$valid_extensions = array('jpeg', 'jpg', 'png', 'gif', 'bmp' , 'pdf' , 'doc' , 'ppt'); // valid extensions
$path = 'uploads/'; // upload directory
if(!empty($_POST['name']) || !empty($_POST['email']) || $_FILES['image'])
{
$img = $_FILES['image']['name'];
$tmp = $_FILES['image']['tmp_name'];
// get uploaded file extension
$ext = strtolower(pathinfo($img, PATHINFO_EXTENSION));
// rename file to prevent rewrite existing files
$final_image = rand(1000,1000000).$img;
// check's valid format
if(in_array($ext, $valid_extensions))
{
$path = $path.strtolower($final_image);
if(move_uploaded_file($tmp,$path))
{
echo "File uploaded succesfully";
$name = $_POST['name'];
$email = $_POST['email'];
//include database configuration file
include_once 'db.php';
//insert form data in the database
$insert = $db->query("INSERT uploading (name,email,file_name) VALUES ('".$name."','".$email."','".$path."')");
}
}
else
{
echo 'File not uploaded, try again';
}
}
我会感谢任何帮助。
【问题讨论】:
-
您可以使用 $_FILES['image']['size'] 或 filesize($path)。
标签: php mysql file-upload