繁体   English   中英

如何在 laravel php 中上传多张图片

[英]How to upload multiple image in laravel php

我正在尝试在 laravel 中上传多张图片,但似乎只有一张图片插入到数据库中,我想知道如何上传所有图片而不仅仅是一张。

这是我的控制器

public function addProperty(Request $request){
        $data = $request->all();
        $pModel = new PropertyModel();
        
        return response()->json(["type"=>$pModel->addProperty($data,$request)]);
    }

这是我的看法

<h3>Gallery</h3>
        <div class="submit-section">
            <div id="selected-files"></div>
            <input type="file" name="files[]" multiple  onchange="Property.onImageUploadChange(event)" id="files" >
        </div>

这是我的模型

  public function addProperty($propertyData,$request){
        $db  = new Database;
        @session_start();
        $user = $_SESSION["user"];
        $propertyData["user_id"] = $user->user_id;
        unset($propertyData["_token"]);
        
        unset($propertyData["property_files"]);
        $res = $db->query($db->buildQuery($propertyData, $this->tableName)) or die(false);
        $lastID= $db->lastInsertID($res);
        $image = $request->file("property_files");
        $image->move(public_path('images'),$lastID.".jpg");
        return true;
    }

这段代码可以帮助你! 我在后端工作并使用此功能:

public static function upload_image($image, $image_folder)
{
$image_new_name = time() . '_' . $image->getClientOriginalName();
$image_path = public_path('uploads\\' . $image_folder);
$image->move($image_path, $image_new_name);

return $image_folder . '/' . $image_new_name;
}

您可以创建一个SettingController并将其放在那里,然后在您的控制器中接收图像数组并使用foreach循环将它们保存在您的服务器中,例如:

foreach($request->arrayImages as $image) {
     SettingController::upload_image($image, 'your folder name');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM