sedang membutuhkan script php untuk upload image? search di google mungkin gampang ditemukan. Tapi jika anda sedang membutuhkan script php untuk upload image dengan tujuan tertentu seperti:
- form registrasi dimana user yang registrasi akan mengupload fotonya, beserta data input pada form
- form komplain pada sebuah layanan, dimana user memasukan keluhan dan data lainnya, disertai dengan screen shot image,
- form registrasi yang melampirkan scan id
- form konfirmasi pembayaran yang menyertakan hasil foto atau scan bukti pembayaran/ transfer
- dan form lainnya yang memerlukan lampiran image ..
contoh form php mungkin banyak, tapi untuk kebutuhan di atas, anda perlu memodifikasinya sesuai keperluan Anda. Nah pada jenis form yang menyertakan lampiran gambar/ image, kesulitan utamanya adalah bagaimana supaya image yang diupload tersebut tidak tertukar dengan image user lainnya, dan beberapa hal lain yang dipertimpangkan saat membuat form php atau web, diantaranya:
- nama image yang dilampirkan atau diupload user harus unik, karena bisa saja terjadi duplikat nama. Jadi nama image yang diupload oleh user, sama dengan nama image yang diupload user lain sebelumnya. Jika hal ini terjadi, biasanya image akan menimpa atau rewrite image sebelumnya, .. tentu hal ini tidak boleh terjadi bukan?
- harus terkoneksi dengan data yang diinputkan oleh user, atau saat kita membuka data hasil input salah satu user, image tidak boleh tertukar dengan image user lainnya.
Untuk memenuhi kebutuhan form sperti di atas, saya sudah membuat sample form dengan disertai lampiran image. Anda dapat memodifikasinya sesuai kebutuhan Anda. Langsung saja, form ini dibuat menggunakan script dari http://www.phpeasystep.com/phptu/18.html , namun sudah saya modifikasi total dan saya menambah databse mysql untuk menyimpan data dari form.
Dalam script php form yang saya buat ini ada 3 halaman utama yaitu:
- index.php , adalah halaman form dimana user mengisikan data dan mengupload gambar/ foto/ image.
- upload-rename.php, adalah halaman yang memproses pemberian nama baru, dan menyimpan data dari form ke database.
- hasil.php, adalah halaman anda dapat melihat hasil dari data yang disimpan.
Dalam script php ini saya memberi contoh form konfirmasi pembayaran dengan upload image bukti tranfer.
berikut code html pada halaman upload-image.php
<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"> <form action="upload-rename.php" method="post" enctype="multipart/form-data" name="form1" id="form1"> <div class="form-group"> <label >Nama</label> <input type="text" class="form-control" name="nama"> </div> <div class="form-group"> <label>Jumlah Transfer</label> <input type="text" class="form-control" name="transfer"> </div> <div class="form-group"> <label>Bank</label> <input type="text" class="form-control" name="bank"> </div> <div class="form-group"> <p>Pilih File Gambar : <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>
tampilan formnya adalah seperti ini:
Setelah user mengisi data dan klik upload, data akan disimpan ke database mysql dengan menambahkan angka unik pada nama image yang diupload. Tujuan penambahan angka unik pada image ini adalah supaya tidak terjadi rewrite atau menimpa image yang kebetulan mempunyai nama sama yang sudah tersimpan di folder upload.
Berikut code halaman upload-rename.php yang mengeksekusi upload image dan menyimpan datanya di mysql database.
<?php //script php dimodifikasi berdasarkan script //http://www.phpeasystep.com/phptu/18.html //koneksi ke database include "koneksi-database.php"; //menangkap posting dari field input form $nama = $_POST['nama']; $transfer = $_POST['transfer']; $bank = $_POST['bank']; $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($_FILES['filegbr']['name']); //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 dataimage (nama,transfer,bank,image) VALUES ('$nama','$transfer','$bank','$lampiran')"; $insert = mysql_query($query_insert); echo" Data berhasil disimpan <br/> Nama : $nama <br/> Transfer: $transfer<br/> Bank: $bank<br/> <br/><br/> <img src='$lampiran' 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"; } ?>
sedangkan tampilan dalam browser adalah seperti ini:
Tampilan di atas adalah tampilan halaman konfirmasi setelah user berhasil mengisikan data pada form dan mengupload image.
Sedangkan untuk halaman bagi admin, untuk melihat tampilan data yang telah diupload oleh para user adalah seperti ini :
Untuk halaman admin atau halaman yang menampilkan hasil upload semua user, adalah halaman hasil.php, dengan code php sebagai berikut:
<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="panel panel-default"> <div class=panel-heading>Data</div> <div class=panel-body> <p>Berikut ini adalah data yang diposting oleh user</p> </div> <table class=table> <thead> <tr> <th>Nama</th> <th>Transfer</th> <th>Bank</th> <th>Image</th> </tr> </thead> <tbody> <?php include "koneksi-database.php"; $data = "SELECT * from dataimage"; $bacadata = mysql_query($data); while($select_result = mysql_fetch_array($bacadata)) { $nama = $select_result['nama']; $transfer = $select_result['transfer']; $bank = $select_result['bank']; $image = $select_result['image']; echo"<tr> <td>$nama</td><td>$transfer</td><td>$bank</td><td><img src='$image' height='150'></td></tr> "; //ganti imagesup dengan nama folder dimana anda menempatkan image hasil upload }?> </tbody> </table> </div> </div> </body> </html>
jangan lupa, folder “gambar” dirubah permission nya/ CHMOD ke 777
Nah, contoh script form dengan upload image ini dapat dikembangkan untuk berbagai keperluan dengan memodifikasi codingnya. Untuk download script php ini dapat mengklik tombol download di bawah.
Download script php form dengan upload image
password zip : www.bayuajie.com
Databasenya gimana itu bang?
Brarti tablenya 2 ya? table buat image sama btabel bank?
tapi kok perintah insertnya cuma satu?
Terima kasih
Halo Eko. Tabelnya cuma ada satu, jadi insertnya hanya ada satu saja. BTW, setelah saya cek, ternyata saya salah memberikan link download scriptnya… heheh maaf. sudah saya betulkan link scriptnya. silahklan download lagi, dan pelajari. sudah ada sql dump nya di situ.
Udah download gan, cuma dumb.sql gagal terus utk di upload ke phpmyadmin. Tolong pencerahannya gan, sy mau pasang di script iklan baris Cms dari cpnel. Makasi gan i fonya sangat dibutuhkan
jika gagal dump ke phpmyadmin,…lakukan dengan cara berikut:
buat database dengan nama: image ,
lalu buat table dengan query berikut (run) :
CREATE TABLE `dataimage` (
`id` int(11) NOT NULL auto_increment,
`nama` char(100) default NULL,
`transfer` char(20) default NULL,
`bank` char(20) default NULL,
`image` varchar(150) default NULL,
PRIMARY KEY (`id`)
)
kalo mau dipasang di blogger bisa gak?
tidak bisa gan, dan tidak akan pernah bisa di blogger. Script php tidak akan bisa berjalan di blogger. Jadi harus di hosting berbayar atau hosting gratis. cari hosting gratis banyak kok, kalo pengin yang gratisan. trus tinggal pake iframe untuk dipasang di blogger.
Warning: mysql_connect(): Access denied for user ‘root’@’localhost’ (using password: YES) in C:xampphtdocsupload_fotokoneksi-database.php on line 7
Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in C:xampphtdocsupload_fotokoneksi-database.php on line 8
Notice: Undefined variable: HTTP_POST_FILES in C:xampphtdocsupload_fotoupload-rename.php on line 17
Notice: Use of undefined constant none – assumed ‘none’ in C:xampphtdocsupload_fotoupload-rename.php on line 29
Notice: Undefined variable: ufile in C:xampphtdocsupload_fotoupload-rename.php on line 29
Notice: Undefined variable: HTTP_POST_FILES in C:xampphtdocsupload_fotoupload-rename.php on line 31
Warning: copy(): Filename cannot be empty in C:xampphtdocsupload_fotoupload-rename.php on line 31
ErrorData Gagal Disimpan …
ITU erornya Karena tidak bisa koneksi-database database:
Username root Dan tanpa password?
Solusi:
Buat username database baru, dengan password baru. Buka koneksi-database.php Dan isikan username Dan passwordnya.
Username harus ada passwordnya Dan tidak boleh kosong/tidak boleh tanpa password.
Baiknya menggunakan appserv untuk localhostnya.
Script php saya sudah diuji di appserv Dan hosting online, jika tidak bisa berjalan di xamp, maka Saran saya uninstall xamp,Dan ganti dengan appserv.
dengan sedikit modifikasi dan penyesuaian, bisa jalan pake xampp jg
makasih komandan
mungkin bisa dibagikan , “sedikit modifikasi” yang dimaksud gan, biar yang lainnya yang pakai xampp juga bisa jalan. Saya belum pernah pakai xampp, jadi gak ngerti gan 🙂
gan kenapa pas saya mau extrak file nya di suruh buka password .. password nya apa gan ??
terima kasih
wah, kurang cermat anda, gan. itu di bawah link downloadnya kan ada password untuk membukanya 😀
cara masukan ke cms lokomedia gmn bos?
saya tdak tahu cms lokomedia, untuk mengintegrasikan anda harus tau php. cara paling mudah dengan menginstalnya script ini, lalu kemudian menambahkan link ke web/blog cms lokomedia anda. jawaban saya begitu aja,
cara masukan ke menu admin lokomedia gmn bos?
image di menu admin gak kelihatan bos?
harusnya jika anda mengikuti petunjuknya, pasti gambar akan muncul, perhatikan folder $path pada script, sudah dibuat foldernya? sudah disesuaikan namanya?
gan mau tanya ini knapa ya, saya runing di XAMPP
Notice: Undefined variable: HTTP_POST_FILES in E:xampphtdocsinputaaaupload-rename.php on line 17
Notice: Use of undefined constant none - assumed 'none' in E:xampphtdocsinputaaaupload-rename.php on line 29
Notice: Undefined variable: ufile in E:xampphtdocsinputaaaupload-rename.php on line 29
Notice: Undefined variable: HTTP_POST_FILES in E:xampphtdocsinputaaaupload-rename.php on line 31
Warning: copy(): Filename cannot be empty in E:xampphtdocsinputaaaupload-rename.php on line 31
Error
mungkin dikarenakan versi php pada xampp anda adalah versi yang baru, sehingga ada variable yang tidak bisa dibaca.
coba buka file upload-rename.php ganti semua $HTTP_POST_FILES dengan $_FILES , mudah2an bisa.
saya menggunakan versi php 5.2.6
kalo Script php balas ticket dan kirim ticket gimana ya gan 😀 ?
mungkin nanti saya buatkan contohnya, tapi klo sempat ya gan… kalo pengen cepet dibuatkan ya tak kenai charge, mau gak? hahaha.
scriptnya paling menggunakan database mysql hosting untuk menyimpan data.
Cuma saya belum bisa yang langsung kirim dan balas ke inbox email, banyak masalahnya seperti tidak masuk inbok atau terdeteksi sebagai spam.
kaga masuk ke db gan
Halo bagas,
terima kasih sudah memberi tahu, sudah saya cek lagi.. memang benar ternyata tdak masuk ke database… saya yang kurang teliti, maaf ….
solusinya, kalau bagas tahu cara menambahkan kolom di databasenya, silahkan tambahkan 1 kolom dengan nama “nama” , saya lupa memberi kolom tersebut.
atau jika ingin mengulang dari awal, Script sudah saya perbaiki, kalau ingin download lagi, silahkan.. hapus dahulu databasenya dan buat database/table baru dengan query di file sql yang ada di file downloadnya.
Woke gan, saya coba terlebih dahulu yah wkwk
Gan, kalau di jadiin satu form aksi php-nya bisa gk yah? kalau bisa gimna caranya?
oh ya gan buat format .png qok gk bisa di upload yah
mungkin bisa gan, tapi terlalu rumit buat saya .. hehehe, saya belum nyoba, harus cari2 referensi dulu. Terima kasih untuk koreksinya… suapaya file format png bisa diupload, buka file upload-rename.php
lalu cari dan ganti $jenis_gambar==”image/x-png” menjadi $jenis_gambar==”image/png”
scriptnya akan saya update dan koreksi.
sip gan dah bisa..
klau hpusnya tau kga gan, biar sekalian gambarnya itu ikut ka hapus?
$jenis_gambar==”image/jpg” (image nya itu nama db atau perintahnya yah?)
@bagas , itu perintah script php gan, … jadi jika jenis file image dan format png, boleh diupload.
untuk menghapus tampilan gambar, tinggal memakai perintah query php untuk mengahapus entry row di table database, jadi nanti tidak akan ditampilkan di halaman hasil.php, jadi scriptnya harus dimodifikasi lagi… untuk menghapus file gambarnya, manual gan dicari image di foldernya trus dihapus. saya belum menemukan script untuk menghapus file langsung dari foldernya.. mungkin lain kesempatan klo saya nemu scriptnya, saya bahas di blog ini, gan.
ditunggu updatean selanjutnya ya gan.
gan mau nanya lagi kalau pas gambar di upload bisa gk nama sesuai dngan id atau nomer urut di db?
bisa, gan .. dimodifikasi lagi, ada tambahan scriptnya
ini contohnya gan,
https://www.bayuajie.com/blog/2017/05/01/membuat-script-php-upload-file-dan-auto-rename-berdasarkan-id/
klo diberi nama berdasarkan id, tinggal dimodifikasi saja..
silahkan pelajari
gan tolong bikin tutor pencarian dong
pencarian apa gan? search?
saya sepertinya perah nulis script crud plus search
bisa dilihat di sini, http://www.bayuajie.com/script-titel-download-contoh-script-crud-search-php
klo yang membahas search aja, .. lain kali gan, kalo ada kesempatan
Pingback: Cara membuat script php upload multiple file sekaligus – Corat Coret
min mau tanya, sudah berhasil outputnya cuman ada tulisan muncul seperti ini :
Warning: mysqli_query() expects at least 2 parameters, 1 given in C:xampphtdocsbankupload-rename.php on line 30
scriptnya sepertinya tidak ada masalah, … itu errornya sepertinya pada script anda. anda memodifikasinya/menggabunggkan/menambahkan dengan script anda sendiri? di script saya tidak ada mysqli_query() tapi pada script saya menggunakan mysql_query() … jadi saya tidak bisa berkomentar banyak, selain anda juga tidak melampirkan script lengkapnya.
gan mau nanya ni, kalo kayak gini knp ya ?
Warning: move_uploaded_file(gambar/captcha.png) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:xampphtdocscobacobaupload-rename.php on line 26
Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move ‘C:xampptmpphp1CC8.tmp’ to ‘gambar/captcha.png’ in C:xampphtdocscobacobaupload-rename.php on line 26
Gambar gagal dikirim
scriptnya sama persis dengan punya saya, atau sudah dimodifikasi?
sudah ada folder “gambar” di dalam folder “cobacoba” ?
pasti belum buat folder “gambar” untuk tempat upload imaagenya kan?
gan bikinin tutorial video youtubnya dong gan… biar lebih jelas . soalnya masih newbi banget .
yang belum jelas apanya ya? kalau menjelaskan secara detail ya saya tidak bisa, hehehe.. ok kapan-kapan saya buat videonya cara instalnya di localhost.
$query_insert = “INSERT INTO dataimage (nama,transfer,bank,image)
mungkin image itu harus diganti dengan filegbr
jadinya……..
$query_insert = “INSERT INTO dataimage (nama,transfer,bank,filegbr)
silahkan diganti seperti usulan Anda, dan coba sendiri scriptnya bekerja gak? saya jamin pasti tidak akan bekerja, hehehe…
query insert yang Anda tulis itu, image diganti filegbr,, sedangkan di database yang saya sertakan di file dump sql dalam file script download, tidak ada kolom filegbr, tapi image … jadi saya pastikan jika menggunakan query insert yang anda tulis tersebut, justru akan membuat script menjadi error dan tidak bisa menyimpan data ke database. .. perhatikan script yang saya tulis di atas, atau script di file download, dan perhatikan alurnya. Terima kasih.
Berikut ini adalah data yang diposting oleh user
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:xampphtdocsdonasihasil.php on line 25
kalo gitu gimana ya mas
scriptnya sama persis dengan yang didownload dari blog ini? atau copas dari blog ini?
Penyebabnya bisa bermacam-macam,
cek koneksi ke database (koneksi-database.php), apakah username dan password ke database sudah benar?
kemungkinan kedua adalah Anda salah menuliskan querynya, coba cek kembali apakah query yang dituliskan sudah benar?
uji query tersebut di phpmyadmin , atau di sqlyog , jika tidak menunjukan hasil .. mungkin salah menuliskan query sqlnya.. coba teliti kembali scriptnya.
sama persis dengan yg saya donlut di blog ini mas, okey2 saya teliti kembali, maklum saya juga masih tahap belajar mas, ehhehehehe.. sangat membantu blog ini
Gambar gagal dikirim gan kenapa ya?
sudah membuat folder “gambar”?
cek user name dan password, serta database di file koneksi-database.php sudah benar?
sudah dump file sql ke databasenya?
Wahhhhh makasihhh mass brooo berguna banget ini, sukses terus kedepannya, sedapp ijin sedot
kak, kok saya udah coba tapi hasilnya belum memilih gambar terus ya? padahal udah dipilih gambarnya. terus di situ keterangannya ubah permission, tapi saya kan pake windows bukan linux, gimana kalau gitu?
halo Desi,
instalnya di localhost pc? atau di webhosting online?
Saya pakai localhost xampp, bisa ga ya kak? Soalnya saya bingung banget cari fungsi upload data yg ada gambarnya. Kalau dapet juga ga bekerja terus, tapi yg dari blog kakak ini bisa. Cuma ya itu hasilnya belum memilih gambar terus.
scriptnya sama persis seperti yang didownload dari blog ini, atau sudah dirubah/dimodifikasi?
Kalau sama persis, dan ternyata error,dugaan saya, mungkin versi phpnya yang berbeda, atau localhostnya yang bermasalah.. mungkin ya.
coba instal di webhosting.
atau kalau mau, ganti xampp dengan localhost dari appserv, baca tulisan di atas, ada link cara instal appserv.
Saya coba pake script ini, bisa upload dan tampil tapi kok gak masuk ke database ya?
trus coba pake script ini dengan nama file2 yg sesui dengan database saya tapi hasilnya selalu belum pilih foto terus. kenapa ya?
kemungkinan versi phpnya beda,versi phpnya berapa?jangan versi php 7 ya,gak akan bisa.
pake versi php 5 atau 5.6 . script ini sudah diuji di localhost menggunakan php 5.6 dan di web hosting php versi 5.6 berjalan lancar.
Script nya bisa, tapi gak kesimpen di database. cuma ada di folder gambar doang.
trus saya cobain script ini dengan database beda hasilnya belum milih foto terus, pdhl script nya sama cuma sesuain sama database saya kenapa ya?
phpnya versi berapa? versi 7 ?
pake php versi 5.6 , karena scriptnya ditulis dengan versi php 5
makasih banyak gan 😀
Gan mohon jawab,kalau multi file upload gimana ,ada script nya ga
bang tolong update link downloadnya
link downloadnya error
ga bisa di download