Upload Image Multiple Dengan PHP Mysql

#Upload Image Multiple Dengan PHP dan  Mysql

Upload file dalam PHP adalah fungsi yang paling banyak digunakan untuk aplikasi web. Satu file atau banyak file dapat dengan mudah diupload menggunakan PHP. PHP menyediakan cara cepat dan sederhana untuk mengimplementasikan fungsi upload file sisi server. Secara umum, dalam aplikasi web, file diupload ke server dan nama file disimpan dalam database. Kemudian file diambil dari server berdasarkan nama file yang disimpan dalam database. 

Dalam kebanyakan kasus, satu gambar diupload sekaligus. Tetapi terkadang Anda harus mengunggah banyak gambar sekaligus. Dalam tutorial ini, kami akan menunjukkan kepada Anda bagaimana cara mengunggah banyak gambar dalam PHP dan menyimpan gambar dalam database MySQL. Unggahan banyak gambar memungkinkan pengguna untuk memilih banyak file sekaligus dan mengunggah semua file ke server dalam satu klik. Sebagai contoh lihat pada langkah-langkah dibawah

Buat Tabel Database 

kenapa perlu membuat tabel? karena tabel dalam database digunakan untuk menyimpan nama file gambar. sebagai contoh copy saja script dibawah ini kedalam database sobat.

CREATE TABLE `images` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `file_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
 `uploaded_on` datetime NOT NULL,
 `status` enum('1','0') COLLATE utf8_unicode_ci NOT NULL DEFAULT '1',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;


Configurasi Database


langkah selanjutnya adalah membuat konfigurasi database untuk menghubungkan tabel yang digunakan, sesuaikan host, username, password dan nama database sesuai dengan Mysql sobat.
copy script dibawah dan simpan dengan nama "config.php".



<?php// Database configuration$dbHost     "localhost";$dbUsername "root";$dbPassword "";$dbName     "upload";
// Create database connection$db = new mysqli($dbHost$dbUsername$dbPassword$dbName);
// Check connectionif ($db->connect_error) {
    die("Connection failed: " $db->connect_error);
}?>

Buat Form Upload Gambar

buat sebuah form untuk upload gambar seperti dibawah


Select Image Files to Upload:
salin code ini
<form action="" method="post" enctype="multipart/form-data">
    Select Image Files to Upload:
    <input type="file" name="files[]" multiple >
    <input type="submit" name="submit" value="UPLOAD">
</form>

Buat File Upload.php

File digunakan untuk aksi upload gambar yang menangani beberapa fungsi upload gambar dan memperlihatkan status upload kepada pengguna. Sertakan file konfigurasi basis data untuk menghubungkan dan memilih basis data MySQL.

<?php if(isset($_POST['submit'])){ 
    // Include the database configuration file 
    include_once 'config.php'; 
     
    // File upload configuration 
    $targetDir "uploads/"; 
    $allowTypes = array('jpg','png','jpeg','gif'); 
     
    $statusMsg $errorMsg $insertValuesSQL $errorUpload $errorUploadType ''; 
    $fileNames array_filter($_FILES['files']['name']); 
    if(!empty($fileNames)){ 
        foreach($_FILES['files']['name'] as $key=>$val){ 
            // File upload path 
            $fileName basename($_FILES['files']['name'][$key]); 
            $targetFilePath $targetDir $fileName; 
             
            // Check whether file type is valid 
            $fileType pathinfo($targetFilePathPATHINFO_EXTENSION); 
            if(in_array($fileType$allowTypes)){ 
                // Upload file to server 
                if(move_uploaded_file($_FILES["files"]["tmp_name"][$key], $targetFilePath)){ 
                    // Image db insert sql 
                    $insertValuesSQL .= "('".$fileName."', NOW()),"; 
                }else{ 
                    $errorUpload .= $_FILES['files']['name'][$key].' | '; 
                } 
            }else{ 
                $errorUploadType .= $_FILES['files']['name'][$key].' | '; 
            } 
        } 
         
        if(!empty($insertValuesSQL)){ 
            $insertValuesSQL trim($insertValuesSQL','); 
            // Insert image file name into database 
            $insert $db->query("INSERT INTO images (file_name, uploaded_on) VALUES $insertValuesSQL"); 
            if($insert){ 
                $errorUpload = !empty($errorUpload)?'Upload Error: '.trim($errorUpload' | '):''; 
                $errorUploadType = !empty($errorUploadType)?'File Type Error: '.trim($errorUploadType' | '):''; 
                $errorMsg = !empty($errorUpload)?'<br/>'.$errorUpload.'<br/>'.$errorUploadType:'<br/>'.$errorUploadType; 
                $statusMsg "Files are uploaded successfully.".$errorMsg; 
            }else{ 
                $statusMsg "Sorry, there was an error uploading your file."; 
            } 
        } 
    }else{ 
        $statusMsg 'Please select a file to upload.'; 
    } 
     
    // Display status message 
    echo $statusMsg; 
} ?>

Menampilkan Gambar Dari Database

selanjutnya kita akan menampilkan gambar berdasarkan nama dari database yang tadinya sudah kita upload. 

<?php// Include the database configuration fileinclude_once 'config.php';
// Get images from the database$query $db->query("SELECT * FROM images ORDER BY id DESC");

if($query->num_rows 0){
    while($row $query->fetch_assoc()){
        $imageURL 'uploads/'.$row["file_name"];?>
    <img src="<?php echo $imageURL?>" alt="" />
<?php }
}else{ ?>    <p>No image(s) found...</p>
<?php ?>


No comments for "Upload Image Multiple Dengan PHP Mysql"