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]

Post a Comment

0 Comments