gpt4 book ai didi

PHP - 无法上传超过 1MB 且编辑 php.ini 后的文件

转载 作者:行者123 更新时间:2023-11-29 19:11:32 24 4
gpt4 key购买 nike

所以我制作了一个php文件来上传文件。这是代码。

HTML:

<html>
<head></head>
<body>

<form method="post" action="" enctype="multipart/form-data">
Upload File:
<input type="file" name="upload" /><br>
<input type="submit" name="submit" value="Submit"/>
</form>
</body>
</html>

PHP:

<?php
include("config.php");
if(isset($_POST['submit']) )
{
if ($_FILES['upload']['size'] != 0 ){
$filename = $con->real_escape_string($_FILES['upload']['name']);
$filedata= $con->real_escape_string(file_get_contents($_FILES['upload']['tmp_name']));
$filetype = $con->real_escape_string($_FILES['upload']['type']);
$filesize = intval($_FILES['upload']['size']);
$query = "INSERT INTO contracts(`filename`,`filedata`, `filetype`,`filesize`) VALUES ('$filename','$filedata','$filetype','$filesize')" ;
if ($con->query($query) == TRUE) {
echo "<br><br> New record created successfully";
}
else
{
echo "Error:<br>" . $con->error;
}
} else {
$filename = $con->real_escape_string($_FILES['upload']['name']);
$filetype = $con->real_escape_string($_FILES['upload']['type']);
$filesize = intval($_FILES['upload']['size']);
$query = "INSERT INTO contracts(`filename`, `filetype`,`filesize`) VALUES ('$filename','$filetype','$filesize')" ;

if ($con->query($query) == TRUE) {
echo "<br><br> New record created successfully";
} else {
echo "Error:<br>" . $con->error;
}
}
$con->close();
}
?>

但它显示这样的警告。

Warning: mysqli::query(): MySQL server has gone away in C:\xampp\htdocs\contractdb\filetest.php on line 29

Warning: mysqli::query(): Error reading result set's header in C:\xampp\htdocs\contractdb\filetest.php on line 29
Error:
MySQL server has gone away

尽管我已经修改了 php.ini 文件并重新启动了 apache。这是我在 php.ini 文件中编辑的内容。我只编辑了这三件事。

memory_limit = 32M
upload_max_filesize = 24M
post_max_size = 32M

我尝试上传仅超过 1MB 的文件,但仍然无法正常工作。我想上传大文件。我做错了什么才会收到警告消息?

最佳答案

确保您还在 MySQL 设置中设置了 max_allowed_pa​​cket_size(在此处了解更多信息: How to change max_allowed_packet size )并检查您没有 .htaccess 文件阻止超过 1MB 的文件上传,这可能类似于这个:

php_value upload_max_filesize 1M

您始终可以执行 ini_get 来检查新的 php.ini 设置是否已成功设置: http://php.net/manual/en/function.ini-get.php

echo(ini_get('upload_max_filesize'));

关于PHP - 无法上传超过 1MB 且编辑 php.ini 后的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43042163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com