如何允许在我的wordpress网站中注册的用户,对表格的特定单元格中的图片进行收费

问题描述 投票:0回答:1

大家好,我希望能很好地解释我需要做什么。 我有一个 buddyboss 网站,用户通过重力形式注册。我们是一家演员经纪公司,所以我想创建一个布局,演员可以在其中插入他们最好的照片来创建图片合成。 我之前尝试过创建一个带有 png 布局的脚本 JS,但不起作用。

所以我有另一个想法,那就是创建一个带有表格的页面,并允许用户在某些单元格中添加他们的图片。但我被阻止了,我不知道该怎么做 我不知道如何编写代码,或者是否存在一些允许用户自定义的插件。

我需要用户在第 1 列的中央单元格和第二列的 4 个中央单元格中收取图片费用。 我希望有人能给我一些想法或代码,因为我对 php 是 0 这是表格代码。

<table style="width: 1600px; height: 1200px; border-collapse: collapse; border: 1px solid black;">
<tbody>
<tr>
<td style="width: 50%; border: 1px solid black;">
<table style="width: 100%; height: 100%; border-collapse: collapse;">
<tbody>
<tr style="height: 5%;">
<td>&nbsp;</td>
</tr>
<tr style="height: 85%;">
<td style="border: 1px solid black;">&nbsp;</td>
</tr>
<tr style="height: 10%;">
<td>&nbsp;</td>
</tr>
</tbody>
</table>
</td>
<td style="width: 50%; border: 1px solid black;">
<table style="width: 100%; height: 100%; border-collapse: collapse;">
<tbody>
<tr style="height: 2%;">
<td>&nbsp;</td>
</tr>
<tr style="height: 48%;">
<td style="border: 1px solid black; width: 50%; padding: 10px;">&nbsp;</td>
<td style="width: 10px;">&nbsp;</td>
<td style="border: 1px solid black; width: 50%; padding: 10px;">&nbsp;</td>
</tr>
<tr style="height: 48%;">
<td style="border: 1px solid black; width: 50%; padding: 10px;">&nbsp;</td>
<td style="width: 10px;">&nbsp;</td>
<td style="border: 1px solid black; width: 50%; padding: 10px;">&nbsp;</td>
</tr>
<tr style="height: 2%;">
<td>&nbsp;</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>

我之前尝试过用 JS 创建脚本,但不起作用。所以我希望有人能解释一下如何为它编写 php 代码

php wordpress web-frontend wordpress-plugin-creation
1个回答
0
投票

我不确定我是否一切都正确。所以您希望用户将他的图片上传到您的服务器,以便他们可以个性化自己的页面?

首先要澄清的是:JavaScript 是一种客户端脚本语言。这意味着您无法仅使用 JavaScript 在服务器上上传图像。您将能够在当前文档中加载图像,但一旦刷新页面,该图像就会消失。 因此,您需要 PHP 交互来将文件保存在服务器上(例如,您可以与 PHP 进行 javascript 对话)。 PHP 是在您的服务器上运行的语言,而不是 JavaScript。

如果您正在寻找 PHP 解决方案:(也许找到 WordPress 插件会更容易)

但是在 HTML / PHP 中你可以这样做:

HTML:

<form action="post_img.php" method="post" enctype="multipart/form-data">
    <input name="userImage" id="userImage" type="file">
    <input type="submit" name="upload" value="Clic here to submit the image">
</form>

PHP:(在文件“post_img.php”中)

if (! empty($_POST["upload"])) {
    if (is_uploaded_file($_FILES['userImage']['tmp_name'])) {
        $targetPath = "img/" . $_FILES['userImage']['name'];//The destination of your file
        if (move_uploaded_file($_FILES['userImage']['tmp_name'], $targetPath)) {
            echo "The file has been successfully uploaded !";
        }
    }
}

现在用户的图像已上传到您的服务器上。但是有很多问题:

  1. 您无法识别哪个用户上传了图片
  2. 无法保证该文件实际上是图像而不是其他东西。图片格式还可以是png、jpg、gif...
  3. 图像可以是任何比例/大小(但是,如果您在 PHP 服务器上运行,则可以更改上传大小限制(默认值:2Mo)。

这就是您想要改进 PHP 代码的原因。

  1. 首先我会对每个图像使用相同的格式(JPEG是最好的 因为如果你想处理透明度,图像会更亮 使用 PNG 代替)并限制图像大小,最后根据您的需要标准化比例。 为此,我建议您查看 PHP 文档中的函数,例如 ImageCreateTrueColor()imagejpeg()imagecopyresampled()imagecreatefromjpeg()...(我没有请注意,但您可以在互联网上找到很多示例”。以下是文档:https://www.php.net/docs.php)。 我必须警告您,如果您不习惯编码,那么涵盖所有可能的图像格式、大小很快就会变得非常困难。

  2. 其次,您应该为图像提供数据库中用户 ID 的名称,或者将用户图像的路径存储在数据库的表中。这样您就可以看到谁上传了图片。

希望对您有帮助。我认为你会遇到的问题是,如果你使用 WordPress 网站,你不会直接管理数据库,所以你可能很难理解用户 ID 是如何存储的等等...... 如果我在你那里,我宁愿找到一个 WordPress 解决方案。

PS:如果您设法将图像存储在服务器上,那么您可以使用 CSS/JavaScript 创建图片合成。如果这是你的问题,是的,你可以使用 CSS 网格或 CSS 弹性框...

© www.soinside.com 2019 - 2024. All rights reserved.