提克拉玛: tarih: "name="tarih"/> 问题: 和 post.php 值: mysq-6ren">
gpt4 book ai didi

php - 图像上传与形式发送内容

转载 作者:行者123 更新时间:2023-11-30 23:42:21 25 4
gpt4 key购买 nike

ba$lik:

现货 kisa:

现货乌尊:

类别: ".$kat[isim].""; } ?> 提克拉玛:

tarih: "name="tarih"/> 问题:

和 post.php 值:

mysql_query("INSERT INTO yazilar (baslik, spot, spot_kisa, icerik, kategori, tiklanma, eklemetarihi)
VALUES
('$_POST[baslik]','$_POST[spot]','$_POST[spot_kisa]','$_POST[icerik]','$_POST[kategori]','$_POST[tiklanma]','$_POST[tarih]')");

我需要使用上传表单向表中添加 2 个图片链接,并使用 post.php 插入数据库。两个不同大小的缩略图。

谢谢!!

最佳答案

有多种有效方法可以解决您的问题。我将展示我能想到的最简单的方法。

您的表单必须进行以下修改:

  • 将 ENCTYPE 属性添加到表单标签中:

    <form action="post.php" method="post" enctype="multipart/form-data">

  • 插入文件上传框(您可以使用控件数组,例如 image[] ,但我会保持简单):

    Image 1: <input type="file" name="image1" />
    Image 2: <input type="file" name="image2" />

请记住,通过 POST 表单发送文件意味着上传大小不能超过 2,048 Kb(2 兆字节)。

为自己准备一个目录来接收文件,它应该设置适当的权限,以便用户可以写入您的服务器(如果是 Linux 服务器,您可以使用 chmod 777)。在这个例子中,我的文件夹将被称为“user-images”。

然后,在 post.php 中添加:


$upload_to = "./user-images/";
move_uploaded_file(
$_FILES["image1"]["tmp_name"],
$upload_to . "/" . $_FILES["image1"]["name"]
);
move_uploaded_file(
$_FILES["image2"]["tmp_name"],
$upload_to . "/" . $_FILES["image2"]["name"]
);
?>

关于调整图像大小以生成缩略图,您可以使用 GD 库调整大小并存储文件或者您可以制作实时缩略图(也可以使用 GD 库,但不是在您的文件中加载 JPEG 文件HTML 显示上的 IMG 标签,您将像这样加载一个 PHP 文件:)

<img src="thumbnail.php?src=image1.jpg&w=90&h=50" />

图像文件的链接很容易生成:

$link = $upload_to . "/" . $_FILES["image1"]["name"]

如果您需要绝对 URL,只需在 $upload_to 之前添加您的域地址即可.

这只是一种实现方式。您还可以将图像的二进制内容添加到数据库中(因为我们谈论的是缩略图,所以我们不应该有问题,默认情况下,MySQL 查询的长度限制为 1 Mb)。这可以使用数据库表中的 BLOB 字段和 file_get_contents() 来完成。 (使用 PHP 5)或 fopen()在二进制模式下/fread()/fclose() (使用 PHP 4)读取文件并将它们转储到数据库中。始终建议对文件进行编码,以免 SQL 查询损坏(通常您可以使用 base64_encode()base64_decode() 执行此操作)。

希望对您有所帮助。祝你编码顺利!

关于php - 图像上传与形式发送内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2053536/

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