Konfigurasi Dan Upload File PHP Dengan Webserver Apache di GNU/Linux


Assalamualaikum Wr.Wb...
dengan diberikan nikmat dan rezeki dari Allah SWT, saya Mr.GagalTotal666 akan
berbagi kepada anda yaitu tentang cara konfigurasi dan upload file PHP dengan
webserver Apache di GNU/Linux.

oke kali ini kita akan belajar mengenai cara upload file dengan PHP
dan memindahkan upload file tersebut menuju sebuah lokasi pada directory lain
yang berada di server. Dan menggunakan globar variable $_FILES serta
fungsi move_uploaded_files() untuk melakukan proses upload dengan mudah ke server.

ikuti langkah berikut jika anda ingin belajar dan memahami alur nya

sebelum nya konfigurasi terlebih dahulu di bagian apache
kenapa ? karena kalau tidak di konfigurasikan nanti nya akan hak akses directory
tidak terbaca atau 404 not found di server.

disini saya menggunakan ubuntu server sebagai contoh, buka terminal
kemudian buat directory di /var/www/html
contoh directory yang saya buat yaitu upload
dan untuk menaruh dari hasil upload nya yaitu file
$ cd /var/www/html
$ sudo mkdir upload
$ sudo mkdir file
nah sesudah membuat directory, berikan hak akses directory tersebut menggunakan chmod
dengan nomer kode 777, yang arti nya semua orang bisa mengakses, menulis, dan
mengeksekusi sesutu dalam direktori ini.
$ sudo chmod 777 -R (nama directory)
$ sudo chmod 777 -R upload
$ sudo chmod 777 -R file

nah setelah membuat directory, baru menuju ke konfigurasi apache
edit di bagian directory /etc/php/php versi/apache2/
contoh yang harus di ubah di bagian file upload
$ sudo vi /etc/php/7.0/apache2/php.ini
$ sudo nano /etc/php/7.0/apache2/php.ini
;;;;;;;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;;;;;;;
; Whether to allow HTTP file uploads.
; http://php.net/file-uploads
file_uploads = On
; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
; http://php.net/upload-tmp-dir
upload_tmp_dir = /var/www/html/upload
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 1024M
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20
untuk php5
$ sudo vi /etc/php5/apache2/php.ini

oh iya akan saya jelaskan sedikit di baris code upload_tmp_dir
nah dibagian ini untuk letak code script upload file php nya
kalau tidak di isi directory nya percuma kita kalau sudah buat source code upload file nya
tidak bakal terupload atau gagal
untuk size, dan maksimal upload itu terserah anda ingin mengasih berapa
oke lanjut.... setelah semua di save jangan lupa restart apache
$ systemctl restart apache2

oke lanjutt.. masih belum loh ^_^ kan belum buat coding nya
oke menuju ke pembahasan coding upload file di PHP
karena saya sedang di server jadi tidak ada kata text editor GUI
yang hanya ada text editor CLI seperti yang sudah banyak digunakan yaitu vim dan nano

buat file ekstensi .php, contoh di sini saya menamakan file nya upload1.php
yang berada di dalam directory upload
buat code sederhana upload file, seperti ini
$ sudo vi upload.php
<?php
if(isset($_POST['btn-upload'])) {
   $tujuanUpload ="/var/www/html/file/";
   $namaBaruFile = rand(1000,100000)."-".$_FILES['fileUpload']['name'];
   $lokasiFile = $_FILES['fileUpload']['tmp_name'];

   if(move_uploaded_file($lokasiFile,$tujuanUpload.$namaBaruFile)) {
   ?><script>alert('File berhasil di upload');</script><?php
   }
   else {
   ?><script>alert('file gagal di upload');</script><?php
  }
}

?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Upload FIle Menggunakan PHP</title>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="fileUpload" />
<button type="submit" name="btn-upload">Upload</button>
</form>
</body>
</html>


sedikit penjelasan source code diatas

- <button> Tombol yang digunakan pemicu untuk melakukan upload.
- <form> Jika anda ingin melakukan kegiatan upload file, maka element html form
harus ditambahkan propertis enctype=“multipart/form-data”
- if($iset($Post > Jika pada $_POST terdapat key ‘btn-upload’. Akan menghasilkan
nilai true, jika tombol upload di klik.
- $tujuanUpload untuk menyimpan lokasi atau directory upload, contoh saya menaruh
di directory file pada source code di atas
- $namabarufile membuat nama baru yang akan disimpan pada server. Fungsi rand()
digunakan untuk menghasilkan sebuah angka secara acak.
- variabel $lokasifile itu isi lokasi file temporary
- kondisi if dan else atau logika yang melakukan proses pemindahan dari lokasi
temparary($lokasiFile) menuju lokasi di server ($tujuanUpload) dengan
nama baru ($namaBaruFile).
- <script>alert : pesan yang menampilkan dari kondisi if dan else

setelah di save buka browser, coba anda tester upload file dalam bentuk ekstensi apa saja
contoh alamat server lokal di saya
$ http://192.168.43.228/upload/upload1.php

dan file berhasil di upload ke server
cek file nya sesuai dengan anda menaruh nya, contoh saya disini menaruh di directory file
$ http://192.168.43.228/file

contoh, tadi saya mengupload file bernama portpython.py


oke mungkin itu saja yang bisa saya begikan kepada anda
kalau artikel ini masih ada kesalahan dan kekurangan mohon berikan masukan nya ya
agar kita sharing bersama ^_^, kalau anda masih kurang mengerti silakan komentar
dan mohon maaf kalau saya telat membalas ^_^

video tutorial


sekian dan semoga bermanfaat....

Wasalamualaikum Wr.Wb...

Sumber : [petanikode.com] [blog.codedb.co]
Previous
Next Post »