Cara Membuat Upload File Lebih dari Satu File dengan PHP

Halo sahabat Belajar Pintar PHP yang setia, pada posting saya sebelumnya saya sudah pernah membagikan kepada anda tentang cara upload file maupun gambar pada php, dan sekarang saya juga membahas hal yang sama tetapi dengan versi yang berbeda serta ada tambahan dari postingan saya sebelumnya. Oke langsung saja kita bahas satu persatu dibawah ini.

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.

23 Komentar

  1. makasih mas . terus berkarya tentang PHP nya :)

    BalasHapus
  2. mas kalo contoh diatas memakai Codeigniter gimana ?

    BalasHapus
  3. @muharani Rizal:untuk versi CodeIgniter akan saya post pada postingan saya berikunya ,, tunggu ya

    BalasHapus
  4. Ijin copas gan...
    http://www.portalweb-feri.blogspot.com

    BalasHapus
  5. mantap...sukses scriptnya,,simple dan jalan.

    BalasHapus
  6. nice broo, ane msh newbie bgt di php dengan script diatas jd sedikit terang pengetahuan tentang php. keep posting :)
    o ya file yg kita upload bs kita liat dmn ya bro ?

    BalasHapus
  7. @Anonim:terimakasih atas komentarnya, untuk postingan saya diatas, nama folder tempat penyimpanan filenya belum saya buat , itu saya sengaja supaya para pembaca lebih mengerti tentang fungsi dari code-code diatas,, jadi jika anda yang masih baru dalam belajar php , saya akan membantu anda,

    coba perhatikan scrip php pada halaman upload.php

    berikut scriptnya :




    pada code php yang paling atas ada

    $uploaddir = './';

    $uploaddir = './'; => maksudnya adalah direktori penyimpanan file yang anda upload,
    sebagai contoh
    kita buat folder baru dengan nama "hasilupload"
    lalu disarankan kita meletakkan foldernya didalam folder pnyimpanan sript php tadi ,,

    sebagai contoh di c:/apache/htdocs/"nama folder penyimpanan script php"/"hasilupload"

    nah anda tinggal menempatkan folder dengan nama "hasilupload" tadi di direktori seperti yang saya bilang tdi ,,

    nah ,, setelah selasai itu mari kita rubah sedikit script phpnya yaitu tepat pada bagian code

    $uploaddir = './';


    rubah scriptnya menjadi

    $uploaddir = './'hasilupload';

    lalu simpan dan jalankan ,,

    dan coba anda upload satu file dan jika berhasil anda tinggal cek file tersebut apakah sudah berhasil di upload kedalam folder dengan nama "hasilupload" yang tadi anda buat,

    semoga berhasil

    BalasHapus
  8. @Anonim:
    sebagai tambahannya ,, anda bisa cek di postingan saya yang lain tentang upload file

    cek di

    http://planetsphp.blogspot.com/2012/12/source-code-php-upload-dan-hapus-file.html

    BalasHapus
  9. makasih untuk ilmunya mas, ini g pake database ya mas

    BalasHapus
  10. Mas mau tanya klo multi upload gambar + input ke DB gimana? dan cara pemanggilannya

    BalasHapus
  11. Mas bro kalau script multiple upload ini mau di input ke database gimana ya caranya? Dan nama tabel beserta fieldnya saat di database apa saja namanya? Mohon dibalas terimakasih

    BalasHapus
  12. Brmanfaat skali,. thnks infonya..

    BalasHapus
  13. terima kasih untuk tutorialnya
    sangat membantu

    BalasHapus
  14. tutorial ini sangat bagus,,, mudah dimengerti... Thanks

    BalasHapus
  15. gan kalo upload banyak gambar di 1 ID database yg sama gimana yah? jadi mungkin fieldnya itu ada gambar1, gambar2, gambar3, dan seterusnya.

    Mohon tutorialnya gan. :)

    BalasHapus
  16. mas kalo upload semua file itu ke dlm dtabse gmana ya ... mohon pencerahannya

    terima kasih d=(^__^)=b

    BalasHapus
  17. @Azmi Cole Jr.:
    Mas udah dapet tutorialnya belum? Aku juga butuh itu 😄

    BalasHapus
  18. Terima kasih atas infonya gan. Ternyata dengan fungsi move_uploaded_file(...) bisa dipakai untuk upload (copy) ke server(direktori) htdocs.

    Kunjungi blog saya ya: https://tedsu.mahasiswa.atmaluhur.ac.id
    dan website kampus saya: http://www.atmaluhur.ac.id

    BalasHapus
  19. terimakasih sangat gan atas infonya dan saya bisa belajar ni :')

    Ini website saya : https://rikaristilia.mahasiswa.atmaluhur.ac.id/
    Ini website kampus saya : http://atmaluhur.ac.id

    BalasHapus
  20. terima kasih atas informasinya saya sebagai pemula bisa belajar mengenai Cara Membuat Upload File Lebih dari Satu File dengan PHP.

    jangan lupa kunjungi website saya:http://sopiantoro.mahasiswa.atmaluhur.ac.id

    dan website kampus saya:http://www.atmaluhur.ac.id

    BalasHapus
Lebih baru Lebih lama