Halo, selamat siang waktu saat ini di posting.
kali ini saya akan sharing / berbagi cara untuk membuat direktori saat kita melakukan upload file di server, baik cpanel ataupun localhost kalian.
langsung saja caranya :
- Ketik kode ini di model kalian.
array('uploadpbt','required','on'=>'scanba'),
array('uploadpbt', 'file', 'types'=>'pdf','maxSize'=>1024 * 1024 * 1,'on'=>'scandulu','allowEmpty' => false ), - Masuk ke controller dan ketikan kode ini. di bawah attibutes
$uploadedFile = CUploadedFile::getInstance($model, 'uploadpbt');
if (!empty($uploadedFile)) {
//new name will go here
$model->uploadpbt = hash('gost', $str.$salt).'.pdf';
}if($model->save()){
if (!is_dir('localhost/tes/'.md5($model->namapemohon))) {
mkdir('localhost/tes/'.md5($model->namapemohon),0777,true);
}
Kode !is_dir untuk melakukan pengecekan apakah direktori tersebut ada atau belum dibuat, jika belum di buat maka kode akan dilanjutkan dengan melakukan mkdir di server. - setelah itu tambahkan di bawahnya kode.
$uploadedFile->saveAs('localhost/tes/'.md5($model->namapemohon).'/'.$model->uploadpbt);
maka file akan disimpan di dalam folder root localhost/tes/md5 nama pemohon/contoh.pdf
untuk mengakses file kalian bisa di buat di view.
masukan kode ini :
echo CHtml::link('Lihat File',
array(
'Main/viewPdf',
'id'=>$model->id
),array('class' => 'btn btn-warning btn-sm','target'=>'_blank')
);
jika view pdf tersebut kalian kurang paham, bisa di baca di artikel ini :
mengamankan file pdf
Cara di atas untuk mempermudah pengelompokan nama folder berdasaran setiap pemohon yang berbeda, sehingga file tidak bercampur antara pemohon satu dan pemohon lainnya, untuk meningkatkan keamanan, sebaiknya kamu melakukan enkripsi terhadap file yang di upload, serta proteksi url hasil download file di server dengan cara menyamarkan url download file, sehingga orang tidak langsung mengakses file dengan bermodalkan url yang disimpan (lalu akses langsung).
sekian sharing kali ini, semoga bermanfaat, untuk kelanjutannya kita akan membuat cara mengubah nama file di PHP YII , terimakasih.