Penggunaan fungsi MOVE_UPLOADED_FILE pada PHP

28/02/2020    Maykhel David    2330    Website

Penggunaan fungsi MOVE_UPLOADED_FILE pada PHP

Upload File menggunakan PHP dengan Mudah - Upload file adalah fitur yang paling sering digunakan dalam aplikasi web. PHP menyediakan cara mudah untuk mengunggah file ke server. Dengan PHP, kalian dapat mengunggah file atau gambar ke server dengan menulis kode yang cukup singkat. Dalam tutorial ini, saya akan menyediakan kode PHP untuk mengunggah file ke direktori di server. Menggunakan kode upload file PHP saya, kaloan akan dapat mengunggah semua jenis file termasuk gambar ke server dalam PHP.

HTML Upload Form

Pertama, form HTML perlu dibuat agar memungkinkan user untuk memilih file yang ingin mereka upload.
Pastikan tag <form> berisi atribut berikut.

     method="post"
     enctype="multipart/form-data"

Pastikan juga tag <input> berisi atribut type="file".

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

Hasil data dari form diatas akan diteruskan ke file upload.php untuk proses upload.

Upload File menggunakan PHP

PHP menyediakan fungsi yang bernama move_uploaded_file() yang memiliki fungsi untuk memindahkan file yang diupload ke lokasi baru. Menggunakan fungsi move_uploaded_file() kita dapat mengupload file dalam PHP.
Kode berikut adalah kode yang kita gunakan untuk mengunggah file dalam PHP. Tentukan direktori / folder tujuan upload dalam variabel $targetDir,. Juga, tentukan jenis file yang ingin Anda izinkan untuk diupload.
.

<?php
$statusMsg = '';

//file upload path
$targetDir = "uploads/";
$fileName = basename($_FILES["file"]["name"]);
$targetFilePath = $targetDir . $fileName;
$fileType = pathinfo($targetFilePath,PATHINFO_EXTENSION);

if(isset($_POST["submit"]) && !empty($_FILES["file"]["name"])) {
    // file formats yang diperbolehkan
    $allowTypes = array('jpg','png','jpeg','gif','pdf');
    if(in_array($fileType, $allowTypes)){
        //upload file to server
        if(move_uploaded_file($_FILES["file"]["tmp_name"], $targetFilePath)){
            $statusMsg = "The file ".$fileName. " has been uploaded.";
        }else{
            $statusMsg = "Sorry, there was an error uploading your file.";
        }
    }else{
        $statusMsg = 'Sorry, only JPG, JPEG, PNG, GIF, & PDF files are allowed to upload.';
    }
}else{
    $statusMsg = 'Please select a file to upload.';
}

// cetak status message
echo $statusMsg;
?>

Baiklah teman – teman,  dengan kode diatas seharusnya kalian sudah bisa mengupload file menggunakan php, jika kalian bermasalah dalam mengupload file diatas 2MB, kalian bisa lihat artikel berikut https://www.dumetschool.com/blog/mengatur-php-untuk-dapat-upload-file-lebih-dari-2mb. Semoga bermanfaat

No data.

Penggunaan fungsi MOVE_UPLOADED_FILE pada PHP

Jika ingin membuat sebuah mekanisme pengunggah data umumnya kita menggunakan kode berikut:

<form action="" method="post" enctype="multipart/form-data">
  <input type="file" name="berkas" />
  <input type="submit" value="Upload" />
</form>

Simpan kode HTML di atas dengan nama upload.php, kemudian lihat hasilnya di browser.

Agar kode di atas agar dapat digunakan untuk meng-upload file maka tambahkan dengan script PHP berikut.

<?php
if(isset($_FILES&#91;'berkas'&#93;)) {
  move_uploaded_file($_FILES&#91;'berkas'&#93;&#91;'tmp_name'&#93;, "uploads/{$_FILES&#91;'berkas'&#93;&#91;'name'&#93;}");
}
?>

Letakkan kode tersebut setelah tag penutup html. Kemudian buatlah sebuah folder dengan nama “uploads” pada tempat yang sama script tersebut disimpan. Maka script sudah siap dicoba untuk meng-upload file yang akan diletakkan pada folder “uploads”.

Fungsi move_uploaded_file() digunakan untuk memindahkan file dari folder “temp” ke folder yang telah kita tentukan. Kemudian darimana saya mendapatkan kedua parameter tersebut? Untuk menjelaskan hal tersebut, lebih mudah jika kita langsung mempraktekannya.

Sekarang tuliskan kode dibawah ini untuk menggantikan fungsi move_uploaded_file() di atas, atau letakkan saja di bawahnya, tanpa menghapus fungsi tersebut.

print_r($_FILES);

Fungsi print_r($_FILES) akan menampilkan isi dari variable $_FILES. Lakukan upload file sekali lagi, maka selain meng-upload file ke server, browser akan menampilkan isi dari variable $_FILES.

Array
(
[berkas] => Array
(
[name] => Boston City Flow.jpg
[type] => image/jpeg
[tmp_name] => /tmp/php1UOmUg
[error] => 0
[size] => 339773
)
)

Pada contoh di atas terlihat variable $_FILES bertipe array. Untuk mengakses indeks “name” dengan menggunakan $_FILES['berkas']['name'], sedangkan untuk mengakses indeks “tmp_name” caranya sama, $_FILES['berkas']['tmp_name'].

Bersambung ke catatan berikutnya untuk meng-upload banyak file sekaligus menggunakan HTML5 dan PHP. Source code lengkap tutorial ini ada di bawah. Kalau ada pertanyaan, silakan tinggalkan komentar.

<!DOCTYPE html>
<html>
  <head>
    <title>upload file</title>
    <meta charset="utf-8">
  </head>
  <body>
    <div>
      <form action="" method="post" enctype="multipart/form-data">
        <p>
        <input type="file" name="berkas" />
        <input type="submit" value="Upload" />
        </p>
      </form>
    </div>
  </body>
</html>
 
<pre>
<?php
if(isset($_FILES&#91;'berkas'&#93;)) {
  move_uploaded_file($_FILES&#91;'berkas'&#93;&#91;'tmp_name'&#93;, "uploads/{$_FILES&#91;'berkas'&#93;&#91;'name'&#93;}");
  print_r($_FILES);
}
?>

Catatan: Tulisan ini juga pernah diterbitkan di sini. Saya terbitkan kembali karena saya berencana membuat catatan berseri.

About Sibudi

Ubuntu user | Loves books | Blogger | Web Developer | Learn PHP, JavaScript, Ruby & Python the hard way

20. October 2011 by Sibudi
Categories: PHP | Tags: HTML, PHP, Tutorial | 6 comments

Move_uploaded_file untuk apa?

Fungsi move_uploaded_file() digunakan untuk memindahkan file yang diunggah ke tujuan baru. Catatan: Fungsi ini hanya berfungsi pada file yang diunggah melalui mekanisme unggahan HTTP POST PHP. Catatan: Jika file tujuan sudah ada, maka file itu akan ditimpa.

Apa itu Tmp_name?

tmp_name adalah nama file yang berada di dalam direktori temporer server; error menyatakan apakah ada error atau tidak; size adalah ukuran file-nya.