Ternyata cara untuk mengupload file / gambar pada codeigniter 4 itu sangat mudah. Mau tau caranya untuk mengupload file / gambar dengan codeigniter 4? oke, sekarang kita mulai saja tutorial cara mengupload file / gambar dengan codeigniter 4.
Uploadfile.php
dan file view upload_view.php
upload_view.php
sepeti yang saya contohkan di bawah
<?php
helper('form');//Load File Helper
echo form_open_multipart('uploadfile/do_upload');
?>
<table>
<tr>
<th colspan="2">Contoh File Upload Menggunakan Codeigniter 4</th>
</tr>
<tr>
<td>File Upload</td>
<td>
<?php echo form_input('uploadedFile', '', '', 'file'); ?>
</td>
</tr>
<tr>
<td colspan="2"><?php echo form_submit('mysubmit', 'Upload File!'); ?></td>
</tr>
<tr>
<td colspan="2">
<?php
echo $msg; //Tampilkan Pesan setelah Upload
?>
</td>
</tr>
</table>
<?php echo form_close(); ?>
Contoh di atas sayta menggunakan form helper untuk membuat form jika ingin menggunakan form biasa kamu bisa menggunakan source html di bawah ini
<form action="<?php echo base_url('uploadfile/do_upload'); ?>" enctype="multipart/form-data" method="post" accept-charset="utf-8">
<table>
<tr>
<th colspan="2">Contoh File Upload Menggunakan Codeigniter 4</th>
</tr>
<tr>
<td>File Upload</td>
<td>
<input type="file" name="uploadedFile" value="" />
</td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="mysubmit" value="Upload File!" />
</td>
</tr>
<tr>
<td colspan="2">
<?php
echo $msg;
?>
</td>
</tr>
</table>
</form>
Uploadfile.php
dengan perintah berikut
<?php
namespace App\Controllers;
use CodeIgniter\Controller;
class Uploadfile extends Controller
{
.........
}
.......
dengan kode berikut
public function index()
{
$data['msg']=str_replace('+', ' ', $this->request->getGet('msg'));
echo view('upload_view',$data);
}
Form akan dapat di akes dengan alamat http://local.rumahcode.org/uploadfile
seperti gambar di bawah
do_upload()
+ kode nya di bawah fungsi index()
. Seperti skrip di bawah ini
public function do_upload()
{
if ($this->request->getMethod() !== 'post') {
return redirect()->to(base_url('uploadfile?msg=Method Salah'));
}
//$request = \Config\Services::request();
$file = $this->request->getFile('uploadedFile');
$name = $file->getName();// Mengetahui Nama File
$originalName = $file->getClientName();// Mengetahui Nama Asli
$tempfile = $file->getTempName();// Mengetahui Nama TMP File name
$ext = $file->getClientExtension();// Mengetahui extensi File
$type = $file->getClientMimeType();// Mengetahui Mime File
$size_kb = $file->getSize('kb'); // Mengetahui Ukuran File dalam kb
$size_mb = $file->getSize('mb');// Mengetahui Ukuran File dalam mb
//$namabaru = $file->getRandomName();//define nama fiel yang baru secara acak
if ($type == (('image/png') or ('image/jpeg'))) //cek mime file
{ // File Tipe Sesuai
$image = \Config\Services::image('gd'); //Load Image Libray
$info = $image->withFile($file)->getFile()->getProperties(true); //Mendapatkan Files Propertis
$width = $info['width'];// Mengetahui Image Width
$height = $info['height'];// Mengetahui Image Height
helper('filesystem'); // Load Helper File System
$direktori = ROOTPATH.'upload'; //definisikan direktori upload
$namabaru = 'user_name.jpg'; //definisikan nama fiel yang baru
$map = directory_map($direktori, FALSE, TRUE); // List direktori
/* Cek File apakah ada */
foreach ($map as $key) {
if ($key == $namabaru){
delete_files($direktori,$namabaru); //Hapus terlebih dahulu jika file ada
}
}
//Metode Upload Pilih salah satu
//$path = $this->request->getFile('uploadedFile')->store($direktori, $namabaru);
//$file->move($direktori, $namabaru)
if ($file->move($direktori, $namabaru)){
return redirect()->to(base_url('uploadfile?msg=Upload Berhasil'));
}else{
return redirect()->to(base_url('uploadfile?msg=Upload Gagal'));
}
}else{
// File Tipe Tidak Sesuai
return redirect()->to(base_url('uploadfile?msg=Format File Salah'));
}
}
Sehingga menjadi begini ini file Upload.php
.
<?php
namespace App\Controllers;
use CodeIgniter\Controller;
class Uploadfile extends Controller
{
public function index()
{
$data['msg']=str_replace('+', ' ', $this->request->getGet('msg'));
echo view('upload_view',$data);
}
public function do_upload()
{
if ($this->request->getMethod() !== 'post') {
return redirect()->to(base_url('uploadfile?msg=Method Salah'));
}
//$request = \Config\Services::request();
$file = $this->request->getFile('uploadedFile');
$name = $file->getName();// Mengetahui Nama File
$originalName = $file->getClientName();// Mengetahui Nama Asli
$tempfile = $file->getTempName();// Mengetahui Nama TMP File name
$ext = $file->getClientExtension();// Mengetahui extensi File
$type = $file->getClientMimeType();// Mengetahui Mime File
$size_kb = $file->getSize('kb'); // Mengetahui Ukuran File dalam kb
$size_mb = $file->getSize('mb');// Mengetahui Ukuran File dalam mb
//$namabaru = $file->getRandomName();//define nama fiel yang baru secara acak
if ($type == (('image/png') or ('image/jpeg'))) //cek mime file
{ // File Tipe Sesuai
$image = \Config\Services::image('gd'); //Load Image Libray
$info = $image->withFile($file)->getFile()->getProperties(true); //Mendapatkan Files Propertis
$width = $info['width'];// Mengetahui Image Width
$height = $info['height'];// Mengetahui Image Height
helper('filesystem'); // Load Helper File System
$direktori = ROOTPATH.'upload'; //definisikan direktori upload
$namabaru = 'user_name.jpg'; //definisikan nama fiel yang baru
$map = directory_map($direktori, FALSE, TRUE); // List direktori
/* Cek File apakah ada */
foreach ($map as $key) {
if ($key == $namabaru){
delete_files($direktori,$namabaru); //Hapus terlebih dahulu jika file ada
}
}
//Metode Upload Pilih salah satu
//$path = $this->request->getFile('uploadedFile')->store($direktori, $namabaru);
//$file->move($direktori, $namabaru)
if ($file->move($direktori, $namabaru)){
return redirect()->to(base_url('uploadfile?msg=Upload Berhasil'));
}else{
return redirect()->to(base_url('uploadfile?msg=Upload Gagal'));
}
}else{
// File Tipe Tidak Sesuai
return redirect()->to(base_url('uploadfile?msg=Format File Salah'));
}
}
}
http://local.rumahcode.org/upload/user_name.jpg
.