gpt4 book ai didi

php - 将图像上传到 mysqli 数据库时出现问题

转载 作者:行者123 更新时间:2023-11-29 22:50:31 25 4
gpt4 key购买 nike

自从我添加了上传图像的功能后,我的脚本就不再工作了..这意味着我无法将新帖子插入数据库。请帮我解决这个问题,谢谢!如有更多问题,请使用下面的评论部分:)

PHP:

<?php
session_start();
header('content-type: text/html; charset=utf-8');
$uname = $_POST['username'];
$typ = $_POST['typ'];
$titel = $_POST['titel'];
$content = $_POST['content'];
$timestamp = time();

$db = new mysqli("localhost", "...", "...", "...");
if($db->connect_errno > 0){
die("Unable to connect to database: " . $db->connect_error);
}

if(is_uploaded_file($_FILES['image']['tmp_name'])) {
// Verweis auf Bild
$image = $_FILES['image']['tmp_name'];

// Vorbereiten für den Upload in DB
$data = addslashes(file_get_contents($image));

// Metadaten auslesen
$meta = getimagesize($image);
$mime = $meta['mime'];
}

//create a prepared statement
$stmt = $db->set_charset("utf8");
$stmt = $db->prepare("INSERT INTO artikel (`red`, `typ`, `titel`, `content`, `image`, `mimetype`, `timestamp`) VALUES (?,?,?,?,?,?,?)");

//bind the username and message
$stmt->bind_param('sssssss', $uname, $typ, $titel, $content, $data, $mime, $timestamp);

//run the query to insert the row
$stmt->execute();

header("Location: erfolg.php");

?>

html 表单:

<form name="form2" action="insert.php" method="post">
Username:<br>
<input style="width:100%;" type="text" accept-charset="utf-8" name="username" value="<?php echo $_SESSION['username']; ?>" class="login_form" readonly><br><br>
Typ:<br>
<input style="width:100%;" type="text" name="typ" value="blog" class="login_form" readonly><br><br>
Titel:<br>
<input style="width:100%;" type="text" placeholder="Überschrift, z.B. Die Kunst des Spickens" name="titel"><br><br>
Inhalt:<br>
<textarea style="width:100%; height:250px; font:Arial, Helvetica, sans-serif !important;" type="text" placeholder="Inhalt" name="content"></textarea><br><br>
Bild anhängen (maximal 1 Bild):<br>
<input name="image" type="file"><br><br>
<input type="submit" value="Eintragen">
</form>

这就是 php 和 html,感谢您的帮助!

抱歉英语不好

最佳答案

首先,您的表单需要 enctype="multipart/form-data"来上传文件。

其次,将上传的文件从临时目录中移动并将路径保存在数据库中,而不是保存临时图像的完整二进制数据,这不是一个好主意吗?

http://php.net/manual/en/function.move-uploaded-file.php

关于php - 将图像上传到 mysqli 数据库时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28928901/

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