Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Gunakan PHP dan MySQL untuk menambahkan gambar ke galeri

Anda memerlukan tabel MySQL yang berisi informasi tentang gambar, dan nama file gambar:

CREATE TABLE images (
    id int(3) not null auto_increment,
    data_type varchar(128) not null,
    title varchar(256) not null,
    file_name varchar(64) not null,
    primary key(id)
)

Dan Anda harus membuat formulir unggah gambar, seperti ini:

<form enctype="multipart/form-data" action="uploader.php" method="POST">
    Data type: <input type="text" name="dataType"><br>
    Title: <input type="text" name="title"><br>
    Image to upload: <input type="file" name="image"><br>
    <input type="submit" value="Upload">
</form>

Dan skrip PHP untuk menangani file yang diunggah dan menambahkan entri basis data:

uploader.php

<?php
$dataType = mysql_real_escape_string($_POST["dataType"]);
$title = mysql_real_escape_string($_POST["title"]);
$fileName = basename($_FILES["image"]["name"]);
$target_path = "images/gallery/".$fileName);
if (file_exists($target_path))
{
    echo "An image with that file name already exists.";
}
elseif (move_uploaded_file($_FILES["image"]["tmp_name"], $target_path))
{
    // The file is in the images/gallery folder. Insert record into database by
    // executing the following query:
    // INSERT INTO images
    // (data_type, title, file_name) VALUES('$dataType','$title','$fileName')
    echo "The image was successfully uploaded and added to the gallery :)";
}
else
{
    echo "There was an error uploading the file, please try again!";
}
?>

Perhatikan bahwa skrip ini tidak aman, ini akan memungkinkan orang untuk mengunggah misalnya file .php ke server. Sesuatu seperti ini akan diperlukan:

$allowed_extensions = array("jpg","jpeg","png","gif");
$extension = pathinfo($fileName, PATHINFO_EXTENSION);
if (!in_array($extension,$allowed_extensions))
{
    die("Only these file types are allowed: jpg, png, gif");
}

Sekarang di halaman galeri Anda ingin mengulang gambar di database.

<?php
$images = mysql_query("SELECT * FROM images");
while ($image=mysql_fetch_assoc($images))
{
    ?>
    <li data-id="id-<?=$image["id"] ?>" data-type="<?=$image["data_type"] ?>">
    <div class="column grid_3">
    <a class="fancybox" rel="<?=$image["data_type"] ?>" href="images/gallery/<?=$image["file_name"] ?>" title="<?=$image["title"] ?>">
    <img src="images/gallery/<?=$image["file_name"] ?>" alt="<?=$image["title"] ?>" class="max-img-border"></a>
    <h5><?=$image["title"] ?></h5>
    </div>  
    </li>
    <?php
}
?>

Harap dicatat bahwa formulir unggahan harus dilindungi, dan hanya tersedia untuk orang yang tepat. Anda tidak ingin spammer mengunggah file acak ke server Anda.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana saya bisa mengatur konfigurasi klien untuk MySQL Workbench tanpa server yang diinstal?

  2. Bagaimana cara menginstal MySQLdb (perpustakaan akses data Python ke MySQL) di Mac OS X?

  3. PHP MySQL beberapa permintaan pencarian menggunakan opsi / pilih tag formulir HTML

  4. Otentikasi sebagai pengguna tertentu di MySQL

  5. Bantu mengedit JSON untuk membuat array daripada 'kamus'