Home » » Cara Membuat Upload File Lebih dari Satu File dengan PHP

Cara Membuat Upload File Lebih dari Satu File dengan PHP

 

 

 

1. Upload Dengan Metode POST

Untuk melakukan upload file dari komputer kita/client ke komputer server, pertama kita buat form HTML untuk upload file.
Langkah pertama yang perlu anda buat adalah sebuah halaman PHP dengan nama "Halaman1.PHP" , lalu copy-kan seluruh script dibawah ini kedalamnya.
<form enctype="multipart/form-data" action="upload.php" method="POST">
    <input type="hidden" name="MAX_FILE_SIZE" value="3000000" />
    Send this file: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>
MAX_FILE_SIZE berfungsi untuk mengatur ukuran maksimal yang diterima PHP (dalam bytes)
Sekarang kita buat kode untuk upload file tersebut dengan membuat satu halaman PHP dengan nama "upload.php" lalu copy-kan seluruh code php dibawah ini kedalamnya.

upload.php

<?php
$uploaddir = './';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
 
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo "File berhasil diupload.\n";
} else {
    echo "gagal!\n";
}
?>
Jika sudah selesai coba jalankan "halaman1.PHP" tadi pad browser anda dan cobalah untuk meng-upload sebuah file.

Hal yang perlu anda ketahui :
Untuk melakukan upload kita menggunakan fungsi move_uploaded_file()
Di server, untuk menangani variabel dari input bertipe file adalah $_FILES, yang berupa array, informasi yang didapat dari $_FILES adalah :

$_FILES['userfile']['name']
Nama asli file dari komputer client.

$_FILES['userfile']['type']
Informasi tipe file, contoh "image/gif".

$_FILES['userfile']['size']
Ukuran file yang diupload (dalam bytes).

$_FILES['userfile']['tmp_name']
Nama file sementara dari file yang diupload yang diletakkan di server

$_FILES['userfile']['error']
Error kode yang berhubungan dengan penanganan file

2. Multiple Upload File

Sekarang kita lihat contoh upload file lebih dari satu sekaligus, untuk itu kita harus membuat nama input form bertipe array, contoh :
Buat sebuah halaman PHP dengan nama "halaman2.php" , lalu copy-kan script php dibawah ini kedalamnya.

halaman2.php
<form action="uploadfile.php" method="post" enctype="multipart/form-data">
<p>File yang diupload:<br>
<input type="file" name="fileku[]" /><br>
<input type="file" name="fileku[]" /><br>
<input type="file" name="fileku[]" /><br>
<input type="file" name="fileku[]" /><br>
<input type="file" name="fileku[]" /><br>
<input type="file" name="fileku[]" /><br>
<input type="file" name="fileku[]" /><br>
<input type="submit" value="Send" />
</p>
</form>
Jika sudah selesai, mari kita buat kode untuk upload filenya, caranya buat lagi sebauh halaman php dengan nama "uploadfile.php" dan copy-kan kode php dibawah ini kedalamnya.
uploadfile.php
<?php
$direktori = ".";
foreach ($_FILES["fileku"]["error"] as $key => $error) {
    if ($error == UPLOAD_ERR_OK) {
        $tmp_name = $_FILES["fileku"]["tmp_name"][$key];
        $name = $_FILES["fileku"]["name"][$key];
        move_uploaded_file($tmp_name, $direktori."/".$name);
        echo "File $name berhasil diupload <br>";
    }
}
?>

Jika sudah selesai, coba jalankan "halaman2.php" tadi pada browser dan coba untuk mengupload file lebih banyak.
Oke, sekian dulu untuk moment ini, saya harap dengan ilmu yang sedikit ini bisa menjadi modal awal buat anda para calon programer dunia, dan jangan lupa ya share dan komentarnya, Terimakasih.

3 komentar:

  1. yang multi upload kok masih error punya saya gan ,,, ini hasil error jika dijalankan :

    Notice: Undefined offset: 0 in /var/www/html/tyning-upload-file/upload-file-multi.php on line 38

    Warning: move_uploaded_file(): The second argument to copy() function cannot be a directory in /var/www/html/tyning-upload-file/upload-file-multi.php on line 39

    Warning: move_uploaded_file(): Unable to move '/tmp/phpafGjBc' to './' in /var/www/html/tyning-upload-file/upload-file-multi.php on line 39
    FILE BERHASIL UPLOAD

    BalasHapus
  2. terus folder directorinya kita kasih nama apa?

    BalasHapus
  3. terus folder directorinya kita kasih nama apa? folder untuk menyimpan file

    BalasHapus