Saya membuat script php upload file sekaligus rename file otomatis dengan tujuan menghindari kesamaan nama file yang diupload.
Untuk berbagai keperluan dan untuk tujuan memudahkan dalam memanage file yang diupload, perlu pemberiaan nama ulang file yang diupload oleh user. Pemberian nama ulang atau rename file, perlu dilakukan supaya file yang diupload tersebut unik, tidak sama dengan file yang lainnya. Pada saat user mengunggah file,
Ada kemungkinan bahwa file yang akan diunggah mempunyai nama yang sama dengan file lainnya yang sudah diunggah. Jika ini terjadi, maka file lama yang mempunyai nama yang sama tersebut akan ditimpa/ over write dengan file yang baru, padahal file lama tersebut tentu masih digunakan untuk data lainnya.
Untuk menghindari over write/ penimpaan file yang sudah diupload dengan nama yang sama, perlu sebuah script upload yang bisa merename file upload dengan nama unik. Ada beberapa opsi pemberian nama file yang bisa digunakan, misalnya:
– pemberian nama file berdasarkan id
– pemberian nama file berdasarkan tanggal upload
– pemberian nama file berdasarkan angka maupun kombinasi huruf secara acak
– pemberina nama file berdasarkan waktu upload
dan kombinasi beberapa opsi tersebut.
Pada kesempatan ini saya membuat script php untuk upload file sekaligus memberikan nama baru pada filenya berdasarkan id. Pemberian nama ini menggunakan gabungan id dengan nama file asli file tersebut, dengan dipisahkan tanda “-” . Jadi jika id yang terbuat di table database mysql misalnya 23 , dan nama filenya adalah imageku.jpg , maka nama yang akan terbentuk nantinya adalah 23-imageku.jpg . id adalah angka unik yang terbentuk secara otomatis berurutan oleh table database mysql, jadi tidak akan ada id yang sama.
Script ini berupa form upload file, dan halaman konfirmasi upload file dan proses rename file. Script php upload dan rename file ini mungkin yang sedang sobat cari-cari. Script dasar ini dapat digabungkan dan dimodifikasi dengan script php ataupun form php lainnya.
Kegunaan script php ini : upload file image dan otomatis rename file image yang diupload
Halaman depan script ini berupa form upload seperti ini :
sedangkan untuk code html nya seperti ini:
<html> <head> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous"> </head> <body> <div class="row"> <div class="col-md-4"></div> <div class="col-md-4"> <br/><br/><br/> <form action="upload-rename.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> <div class="form-group"> <p><h2><span class="label label-warning">Pilih File Gambar :</span> </h2><br/><br/><input type='file' name='filegbr' id='Filegambar'></p> </div> <div class="form-group"> <input type="submit" name="Submit" value="Upload" /> </div> </form> </div> <div class="col-md-4"></div> </div> </body> </html>
Sedangkan untuk code php upload dan rename file seperti ini:
<html> <head> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous"> </head> <body> <div class="row"> <div class="col-md-4"></div> <div class="col-md-4"> <?php //koneksi ke database include "koneksi-database.php"; $namafile= $_FILES['filegbr']['name']; $namafolder="gambar/"; //folder tempat menyimpan file if (!empty($_FILES["filegbr"]["tmp_name"])) { $jenis_gambar=$_FILES['filegbr']['type']; //memeriksa format gambar if($jenis_gambar=="image/jpeg" || $jenis_gambar=="image/jpg" || $jenis_gambar=="image/gif" || $jenis_gambar=="image/png") { $lampiran = $namafolder . basename($namafile); //mengupload gambar dan update row table database dengan path folder dan nama image if (move_uploaded_file($_FILES['filegbr']['tmp_name'], $lampiran)) { $query_insert = "INSERT INTO datapic (img) VALUES ('$namafile')"; $insert = mysql_query($query_insert); $data = "SELECT id,img from datapic order by id desc limit 1"; $bacadata = mysql_query($data); $select_result = mysql_fetch_array($bacadata); $id = $select_result['id']; $img = $select_result['img']; if ($insert) { $updatename = "UPDATE datapic SET newname = CONCAT(id, '-',img)"; $rename = mysql_query($updatename); $dash = '-'; rename($lampiran,$namafolder.$id.$dash.$img); } else {} $bacanm = "SELECT newname from datapic order by id desc limit 1"; $baca = mysql_query($bacanm); $select_result = mysql_fetch_array($baca); $newname = $select_result['newname']; echo" <br/><br/><h2><span class='label label-success'>Data berhasil disimpan</span></h2> <br/> Nama File lama : $img <br/> Nama Baru : $newname <br/> <img src='$namafolder$newname' height='300'>"; //Jika gagal upload, tampilkan pesan Gagal } else { echo "Gambar gagal dikirim"; } } else { echo "Jenis gambar yang anda kirim salah. Harus .jpg .gif .png"; } } else { echo "Anda belum memilih gambar"; } ?> </div> <div class="col-md-4"></div> </div> </body> </html>
Saat file image berhasil diupload, akan ditampilkan konfirmasi seperti ini:
Sobat dapat mendownload dan mempelajari script php ini, dan bisa dimodifikasi sesuai keperluan sobat. Jika butuh bantuan untuk menginstalnya atau memodifikasi sesuai keperluan sobat, silahkan hubungi saya, .. (mungkin akan dikenakan biaya tertentu 😀 )
Download script php upload dan rename image
password zip : www.bayuajie.com
Mau nanya mas, bagaimana kalo sekaligus create folder/directory?
wah, saya belum tau caranya,,
Klo langsung bikin folder mah kasih aja logika
Contoh :
$lokasifolder = ‘nama folder foto’;
If(!file_exist($lokasifolder){
mkdir($lokasifolder)
};