Jumat, 17 Februari 2017

Pencengahan Nama Yang Kembar pada Upload Gambar

Assalamu'alaikum wr.wb.



A. Pengertian

    PHP: Hypertext Preprocessor adalah bahasa skrip yang dapat ditanamkan atau disisipkan ke dalam HTML. PHP banyak dipakai untuk memrogram situs web dinamis. PHP dapat digunakan untuk membangun sebuah CMS.

B. Latar Belakang

     Latar belakang permasalahan ini merupakan terhapusnya atau hilangnya data atau gambar yang diupload user. Karena pada saat user mengupload file atau gambar yang sama dengan nama yang sama juga, maka file yang awalnya ada menjadi hilang atau terhapus secara otomatis. Dari permasalahan tersebut maka disini kita akan membuat cara bagaimana file atau gambar yang dimasukkan tidak hilang.

C. Alat dan Bahan
  • SublimeText (Text Editor)
  • OS Linux Mint 18.1
  • Browser
  • Koneksi Internet
D. Tujuan

     Bertujuan untuk mencengah nama yang kembar pada saat kita menginputkan gambar atau file dengan sintaks PHP.

E. Tahap Pembahasan

     a. Kita buka terlebih dahulu sublime text atau text editor dilaptop kita. Menu -> ketikkan sublimetext.
   b. Kita masukkan coding seperti dibawah ini untuk mengupload dan memvalidasi gambar sudah ada atau belum.

<html>
<head>
<title>Test</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data"><!-- enctype digunakan untuk mengupload suatu file/gambar yang akan -->
<input type="file" name="gambar" />
<input type="submit" name="submit" value="upload" />
</form>
</body>
</html>

<?php

if(isset($_POST['submit'])){

    $time = time();// digunakan untuk merubah angka atau format dari gambar
    print_r($_FILES);//untuk mengetahui detail dari yang kita ambil dari $_FILES

    $nama   = $_FILES['gambar']['name'];//('name') diambil dari detail yang kita tampilkan menggunakan fungsi var_dump diatas
    $error  = $_FILES['gambar']['error'];
    $size   = $_FILES['gambar']['size'];
    $lokasi = $_FILES['gambar']['tmp_name'];//begitu juga dengan ('tmp_name') diambil juga dari var_dump diatas. tmp_name itu menunjukkan lokasi
    $format = $_FILES['gambar']['type'];
    $namafile = 'upload/'.$nama;

//menampilkan info dari gambar

if($error == 0){
    if($size < 1000000){

        if($format == 'image/jpeg' ){

            if (file_exists($namafile)) {
                $namafile = str_replace(".jpg","",$namafile);
                $namafile = $namafile."_".$time.".jpg";
            }//sintaks ini digunakan untuk validasi gambar atau file yang kita upload agar tidak sama namanya. Walaupun kita memiliki gambar atau file yang sama kita tetap masih bisa menguploadnya dengan nama yang berbeda karena ada tambahan waktu yang diacak nomornya.

     //mengupload gambar
    move_uploaded_file($lokasi , $namafile);//nah, di bagian ini proses untuk memasukkan atau memindahkan file/gambar yang akan kita upload ke folder(servernya). Dengan menunjukkan lokasi dari file lalu 'upload/'= merupakan nama folder yang kita punya & jika kita memiliki file nya di folder lain kita bisa memfleksiblekan pemanggilannya. Lalu kita panggil nama file yang akan kita upload.
    echo "Berhasil";

    }else{
        echo "formatnya harus JPEG";
   // header (Location: indexs.php);
    }

}else{
    echo "Gambarnya kebesaran";
    }

}else{
    echo "Ada Error";
}
}


?>
  • Setelah coding selesai di masukkan ke sublimetext simpan di /var/www/html/. Disini saya sudah menyiapkan folder yang bernama "template" dan kita simpan dengan nama "validasi_dan_upload.php".
  • Hasil dari coding diatas yaitu seperti dibawah ini jika kita buka di web browser yaitu dengan memasukkan ke url "localhost/template/validasi_dan_upload.php".
Hasil dari kita upload data yang memiliki format jpg. 

Setelah tadi upload data berhasil maka akan masuk ke folder upload yang akan menyimpan hasil uploadan data. Bisa diliat perbedaan kedua gambar diatas.

Dan ini merupakan upload gambar yang gagal karena memiliki format .png


F. Kesimpulan

      Dari pembahasan diatas dapat ditarik kesimpulan bahwa pemakaian perintah file_exists($namafile) yang dapat digunakan untuk mencegah nama kembar. Dan pemakain fungsi time() yang bisa digunakan untuk random waktu yang menandakan waktu upload gambar atau file.

G. Referensi
  • https://id.wikipedia.org/wiki/PHP
  • sekolahkoding.com

Sekian dan Terimakasih.

SMK Bisa!!

Wasalamu'alaikum wr.wb.

0 komentar:

Posting Komentar

Diberdayakan oleh Blogger.