gpt4 book ai didi

php - 上传图片大于 1.0MB 时 MySQL 服务器已经消失

转载 作者:行者123 更新时间:2023-12-01 00:47:46 24 4
gpt4 key购买 nike

我在上传大小为 1.5MB 的图片时收到警告,并且图片没有存储到数据库中,它适用于小于 1MB 的图片。

请帮忙,因为我坚持了几天这些警告。

这是我的代码:

<?php

print_r($_FILES);

//connect to the database//

try {
$pdo = new PDO('mysql:host=localhost;dbname=forms1', 'root', 'root',array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
$file = $_FILES['image']['tmp_name'];

$upload=0;

for($count = 0; $count < count($_FILES['image']); $count++)
{
if(!empty($_FILES['image']['name'][$count])){
$image_name[$count] = addslashes($_FILES['image']['name'][$count]); echo '<br \>';
$image_size[$count] = @getimagesize($_FILES['image']['tmp_name'][$count]);
$error[$count] = $_FILES['image']['error'][$count];

if($image_size[$count] == FALSE || ($image_size[$count]) == 0)
echo "That's not an image";

$upload++;
echo $upload;

// Temporary file name stored on the server
$tmpName[$count] = $_FILES['image']['tmp_name'][$count];

// Read the file
$fp[$count] = fopen($tmpName[$count], 'r');
$data[$count] = fread($fp[$count], filesize($tmpName[$count]));
$data[$count] = addslashes($data[$count]);
fclose($fp[$count]);

// Create the query and insert into database.

$stmt = $pdo->prepare('INSERT INTO files (name,image) VALUES (:name,:image)');
$stmt->execute(array('name' => $image_name[$count],'image' => $data[$count]));

if(!$stmt)
echo "Problem uploding the image. Please check your database";
}
}
} catch (PDOException $e) {
print "Error!: " . $e->getMessage();
die();
}

?>

这些是我收到的警告:

Warning: PDOStatement::execute(): MySQL server has gone away in C:\xampp\htdocs\testing\test.php on line 56

Warning: PDOStatement::execute(): Error reading result set's header in C:\xampp\htdocs\testing\test.php on line 56

这一行的警告点:

$stmt->execute(array('name' => $image_name[$count],'image' => $data[$count]));

最佳答案

答案很简单:

不要在数据库中存储文件。

这样你一次解决的不是一个而是十几个问题。
只是因为关系数据库不是存放二进制文件的地方。

您收到的这条错误消息是一个警告标志:“您给服务器带来了不必要的巨大负担”。当您需要取回文件时,此负载甚至会增加。

当存储在文件系统中时,二进制文件不会妨碍任何人,而且 - 最重要的是 - 服务速度非常快,不会花费您宝贵的资源

关于php - 上传图片大于 1.0MB 时 MySQL 服务器已经消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19581658/

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