Php 仅使用一个控制器在不同文件夹中保存两个图像

Php 仅使用一个控制器在不同文件夹中保存两个图像,php,imagemagick,Php,Imagemagick,我建立了一个界面,保存了三个参数:标题、价格和图像。标题和价格保存在SQL数据库中,图像保存在服务器上的文件夹中。当然,它们都共享一个id,因此可以在需要时调用它们。现在我希望能够使用同一个控制器将两个不同的图像(比如blank和example)保存到两个不同的文件夹(template/blank和template/example)中。下面是接口和控制器的代码。可能吗 模板\u edit.php(视图) <ol class="breadcrumb"> <li><a

我建立了一个界面,保存了三个参数:标题、价格和图像。标题和价格保存在SQL数据库中,图像保存在服务器上的文件夹中。当然,它们都共享一个id,因此可以在需要时调用它们。现在我希望能够使用同一个控制器将两个不同的图像(比如blank和example)保存到两个不同的文件夹(template/blank和template/example)中。下面是接口和控制器的代码。可能吗

模板\u edit.php(视图)

<ol class="breadcrumb">
<li><a href="/admin/home">Templates</a></li>
<li class="active"><?= $title ?></li>
</ol>


<form class="form-horizontal" role="form" method="POST" enctype="multipart/form-data">
<div class="form-group">
    <label for="inputEmail3" class="col-sm-2 control-label">Title</label>
    <div class="col-sm-10">
        <input type="text" name="titlep" value="<?= @$template['titlep'] ?>" class="form-control" autocomplete="off" required="true">
    </div>
</div>
<div class="form-group">
    <label for="inputPassword3" class="col-sm-2 control-label">Price</label>
    <div class="col-sm-10">
        <input type="text" class="form-control" name="price" value="<?= @$template['price'] ?>" autocomplete="off" required="true">
    </div>
</div>
<div class="form-group">
    <label for="inputPassword3" class="col-sm-2 control-label">Blank</label>
    <div class="col-sm-10">
        <input type="file" class="form-control" name="img">
        <?php if (!empty($template)) { ?>
            <img src="/files/templates/blank<?= $template['id'] ?>.jpg" width="100" class="thumbnail">
        <?php } ?>
    </div>
</div>
<div class="form-group">
    <label for="inputPassword3" class="col-sm-2 control-label">Example</label>
    <div class="col-sm-10">
        <input type="file" class="form-control" name="img">
        <?php if (!empty($template)) { ?>
            <img src="/files/templates/example<?= $template['id'] ?>.jpg" width="100" class="thumbnail">
        <?php } ?>
    </div>
</div>
<div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
        <?php
        if (!empty($template)) {
            ?><input type="hidden" name="id" value="<?= $template['id'] ?>"><?php
        }
        ?>
        <input type="submit" name="save" class="btn btn-default" value="Save">
    </div>
</div>

  • 标题
    当然,现在两个输入字段都带有
    name='img'
    您需要更改此设置,其中一个需要不同的名称

    <div class="form-group">
        <label for="inputPassword3" class="col-sm-2 control-label">Example</label>
        <div class="col-sm-10">
            <input type="file" class="form-control" name="img_example">
            <?php if (!empty($template)) { ?>
                <img src="/files/templates/example<?= $template['id'] ?>.jpg" width="100" class="thumbnail">
            <?php } ?>
        </div>
    </div>
    

    显然,您会对编辑案例和删除案例执行类似的操作。

    谢谢!我脑子里想的是这样的事情,但却被执行死刑所困扰。
    <div class="form-group">
        <label for="inputPassword3" class="col-sm-2 control-label">Example</label>
        <div class="col-sm-10">
            <input type="file" class="form-control" name="img_example">
            <?php if (!empty($template)) { ?>
                <img src="/files/templates/example<?= $template['id'] ?>.jpg" width="100" class="thumbnail">
            <?php } ?>
        </div>
    </div>
    
    if(isset($_FILES['img'])) {
        $img = new Imagick($_FILES['img']['tmp_name']);
        $img->setImageFormat('jpg');
        $img->writeImages('files/templates/blank' . $id . '.jpg', true);
    }
    if(isset($_FILES['img_example'])) {
        $img_example = new Imagick($_FILES['img_example']['tmp_name']);
        $img_example->setImageFormat('jpg');
        $img_example->writeImages('files/templates/example' . $id . '.jpg', true);
    }