【问题标题】:image upload with sending content with form图片上传并发送带有表单的内容
【发布时间】:2011-01-04 10:37:21
【问题描述】:

ba$喜欢:

现货kisa:

现货 uzun:

分类: ".$kat[isim].""; } ?> 提克兰马:

塔里赫:“名称=“塔里赫” /> 伊切里克:

和 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 插入数据库。两个不同大小的缩略图。

谢谢!!

【问题讨论】:

    标签: php mysql image forms upload


    【解决方案1】:

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

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

    • 将 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 库,但不是在您的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() 执行此操作)。

    希望这可以帮助你。祝你编码好运!

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-10
    • 2018-09-11
    • 1970-01-01
    • 2011-01-03
    • 2012-08-12
    • 1970-01-01
    • 1970-01-01
    • 2012-09-09
    相关资源
    最近更新 更多