簡體   English   中英

如何在此代碼中上傳多張圖片

[英]How can i upload more than one images in this codes

我是 php 編程的新手 我有允許用戶在我的網站上傳圖片的代碼 這是 html 部分...

              <div class="col-sm-5">
                <input type="file" id="photo" name="photo">
              </div>

這是php部分

if(isset($_POST['add'])){
    $name = $_POST['name'];
    $slug = slugify($name);
    $category = $_POST['category'];
    $price = $_POST['price'];
    $description = $_POST['description'];
    $filename = $_FILES['photo']['name'];

    $conn = $pdo->open();

    $stmt = $conn->prepare("SELECT *, COUNT(*) AS numrows FROM products WHERE slug=:slug");
    $stmt->execute(['slug'=>$slug]);
    $row = $stmt->fetch();

    if($row['numrows'] > 0){
        $_SESSION['error'] = 'Product already exist';
    }
    else{
        if(!empty($filename)){
            $ext = pathinfo($filename, PATHINFO_EXTENSION);
            $new_filename = $slug.'.'.$ext;
            move_uploaded_file($_FILES['photo']['tmp_name'], '../images/'.$new_filename);   
        }
        else{
            $new_filename = '';
        }

        try{
            $stmt = $conn->prepare("INSERT INTO products (category_id, name, description, slug, price, photo) VALUES (:category, :name, :description, :slug, :price, :photo)");
            $stmt->execute(['category'=>$category, 'name'=>$name, 'description'=>$description, 'slug'=>$slug, 'price'=>$price, 'photo'=>$new_filename]);
            $_SESSION['success'] = 'User added successfully';

        }
        catch(PDOException $e){
            $_SESSION['error'] = $e->getMessage();
        }
    }

    $pdo->close();
}
else{
    $_SESSION['error'] = 'Fill up product form first';
}

header('location: products.php');

然后...顯示圖像

    <img src="<?php echo (!empty($product['photo'])) ? 'images/'.$product['photo'] : 'images/noimage.jpg'; ?>" width="100%" class="zoom" data-magnify-src="images/large-<?php echo $product['photo']; ?>">

代碼工作正常,除了它只允許用戶上傳一張圖片......我該如何更改以便用戶可以上傳四張圖片......請幫助我。謝謝

HTML

    <div class="col-sm-5">
                    <input type="file" id="photo" name="photo" multiple>
                  </div>

已編輯

$images = explode(',',$product['photo']));
foreach($images as $val){
    <img src="<?php echo (!empty($val)) ? 'images/'.$val : 'images/noimage.jpg'; ?>" width="100%" class="zoom" data-magnify-src="images/large-<?php echo $val; ?>">
}

在數據庫中為phototext數據類型

PHP

    if(isset($_POST['add'])){
    $name = $_POST['name'];
    $slug = slugify($name);
    $category = $_POST['category'];
    $price = $_POST['price'];
    $description = $_POST['description'];

    $conn = $pdo->open();

    $stmt = $conn->prepare("SELECT *, COUNT(*) AS numrows FROM products WHERE slug=:slug");
    $stmt->execute(['slug'=>$slug]);
    $row = $stmt->fetch();

    if($row['numrows'] > 0){
        $_SESSION['error'] = 'Product already exist';
    }
    else{
        if(isset($_FILES['photo']['name'][0]) && $_FILES['photo']['size'][0] != 0 && $_FILES['photo']['error'][0] == 0) 
        {
         $filesCount = count($_FILES['photo']['name']);
         for($i = 0; $i < $filesCount; $i++) { 
            $ext = pathinfo($_FILES['photo']['name'][$i], PATHINFO_EXTENSION);

            $new_filename = $slug.'_'date('Y-m-d h:i:s').'.'.$ext;
            move_uploaded_file($_FILES['photo']['tmp_name'][$i], '../images/'.$new_filename);   
            $allfiles[] = $new_filename;
         }
         $uploaded_img = implode(',',$allfiles);
        }
        else{
            $uploaded_img = '';
        }

        try{
            $stmt = $conn->prepare("INSERT INTO products (category_id, name, description, slug, price, photo) VALUES (:category, :name, :description, :slug, :price, :photo)");
            $stmt->execute(['category'=>$category, 'name'=>$name, 'description'=>$description, 'slug'=>$slug, 'price'=>$price, 'photo'=>$uploaded_img]);
            $_SESSION['success'] = 'User added successfully';

        }
        catch(PDOException $e){
            $_SESSION['error'] = $e->getMessage();
        }
    }

    $pdo->close();
}
else{
    $_SESSION['error'] = 'Fill up product form first';
}

header('location: products.php');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM