Cara Mengupload File Di PHP

Cara Mengupload File Di PHP

2.1.1   Pengertian PHP File Upload

File upload merupakan salah satu dari fitur lanjutan PHP yang bertujuan untuk mengizinkan sebuah halaman untuk meng-upload sebuah file ke server. File yang di upload dapat berupa gambar, teks, video, suara, dan lain-lain.

2.1.2   Program PHP File Upload

1.    Membuat form utama HTML
Langkah pertama untuk meng-upload file adalah dengan membuat sebuah form utama HTML yang mengizinkan pengguna untuk memilih file yang ingin di upload. Kode dibawah merupakan contoh untuk file gambar.
<!DOCTYPE html>
<html>
<body>

<form action="upload.php" method="post" enctype="multipart/form-data">
    Select image to upload:
    <input type="file" name="fileToUpload" id="fileToUpload">
    <input type="submit" value="Upload Image" name="submit">
</form>

</body>
</html>
Beberapa peraturan yang harus diperhatikan terhadap form diatas adalah:
a.  Pastikan bahwa form utama menggunakan method post
b.  Form harus memuat atribut enctype=”multipart/form-data”. Hal ini berfungsi untuk menspesifikasikan tipe konten yang digunakan ketika menyerahkan(men-submit) form.

2.    Membuat skrip PHP File Upload
Tanpa dua hal diatas, maka upload file tidak akan bisa dilakukan. Kemudian, form diatas akan mengirim data ke sebuah file php yang akan dinamakan upload.php. Berikut adalah kode untuk file upload.php.
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}
?>


Setelah membuat file upload.php diatas, maka kita harus membuat sebuah direktori yang diberi nama uploads yang berlokasi dimana file upload.php dibuat. Direktori tersebut akan menampung file yang telah di-upload 


3.    Membatasi ukuran file
Kita dapat membatasi ukuran sebuah file yang akan di-upload, hal tersebut dapat dilakukan dengan menggunakan kode seperti dibawah ini.
// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}
Jika file yang diupload memiliki ukuran lebih dari 500kb, maka akan muncul sebuah pesan error yang memberi tahu bahwa ukuran file yang diupload melebih batas ukuran file
4.    Membatasi tipe file
Selain membatasi ukuran file, kita juga dapat membatasi tipe file yang ingin di-upload. Hal tersebut dapat dilakukan dengan menggunakan kode seperti dibawah ini.
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}
Kode diatas berarti bahwa kita hanya dapat meng-upload file gambar dengan format jpg, jpeg, png, dan gif. Kita tidak dapat meng-upload file gambar dengan format gambar yang lain. Jika kita ingin HTML dapat meng-upload file gambar dengan format yang lain, maka kita harus menambahkan tipe file gambar yang diinginkan pada bagian pengkondisian.
5.    Skrip PHP File Upload Lengkap
Setelah kita mengatur ukuran file dan tipe file, maka kita dapat membuat skrip PHP file upload yang memuat dua hal tersebut pada file upload.php.
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
    $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
    if($check !== false) {
        echo "File is an image - " . $check["mime"] . ".";
        $uploadOk = 1;
    } else {
        echo "File is not an image.";
        $uploadOk = 0;
    }
}
// Check if file already exists
if (file_exists($target_file)) {
    echo "Sorry, file already exists.";
    $uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
    echo "Sorry, your file is too large.";
    $uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
    echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
    $uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
    echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
    } else {
        echo "Sorry, there was an error uploading your file.";
    }
}
?>

6.    Upload File
a. Pertama klik file main.html untuk membuka form upload kemudian pilih browse untuk memilih gambar.
b.    Pilih gambar yang ingin di upload.
c.    Jika gambar telah dipilih, klik button upload image untuk meng-upload gambar.
d. Jika file berhasil di upload, maka akan muncul tulisan seperti dibawah. Cek folder uploads untuk memastikan bahwa file berhasil di upload. Kita juga dapat memeriksa file yang telah di upload pada localhost atau server.

  cara upload disini sangat penting untuk membuat suatu aplikasi karena kita dapat menyisipkan file apa aja kedalam aplikasi kita jika ingin tutorial yang lainnya silahkan kunjungi www.punyacara.com semoga bermanfaat untuk kita semua. silahkan subscribe youtube kami Bonifasius Tandi .


EmoticonEmoticon