Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
Bagaimana cara upload beberapa foto dengan nama berbedaa pada php mysql?
saya membuat 1 form input data, dimana pada form ini saya ingin mengupload 3 foto dengan nama/id berbeda yaitu foto_bukti_penghasilan, foto_khs dan foto_diri. tapi saya bingung kenapa ketika ditampilkan, foto yg mau tampil hanya 1 foto saja yaitu foto_diri. kira-kira salahnya dimana ya? mohon bantuannya ya...
ini code ketika upload foto :
$foto_bukti_penghasilan=$_FILES['foto_bukti_penghasilan']['name'];
$ukuran_file=$_FILES['foto_bukti_penghasilan']['size'];
$tmp=$_FILES['foto_bukti_penghasilan']['tmp_name'];
$type=$_FILES['foto_bukti_penghasilan']['type'];
$tujuan= "foto/".$foto_bukti_penghasilan;
$foto_khs=$_FILES['foto_khs']['name'];
$ukuran_file=$_FILES['foto_khs']['size'];
$tmp=$_FILES['foto_khs']['tmp_name'];
$type=$_FILES['foto_khs']['type'];
$tujuan= "foto/".$foto_khs;
$foto_diri=$_FILES['foto_diri']['name'];
$ukuran_file=$_FILES['foto_diri']['size'];
$tmp=$_FILES['foto_diri']['tmp_name'];
$type=$_FILES['foto_diri']['type'];
$tujuan= "foto/".$foto_diri;
if($ukuran_file <= 200000000){
if($type == "image/png" or $type == "image/jpg" or $type == "image/jpeg"){
if(move_uploaded_file($tmp,$tujuan)){
// Akhir Upload Foto
$input = mysql_query("INSERT INTO tb_biodata (id_user, jk, tempat_lahir, tgl_lahir, alamat_skrg, jurusan, jenjang, semester, jumlah_sks, nama_ayah, nama_ibu, pekerjaan_ayah, penghasilan_ayah, pekerjaan_ibu, penghasilan_ibu, foto_bukti_penghasilan, ip_terakhir, foto_khs, alamat_ortu, foto_diri)
VALUES('$id_user', '$jk', '$tempat_lahir', '$tgl_lahir', '$alamat_skrg', '$jurusan', '$jenjang', '$semester', '$jumlah_sks', '$nama_ayah', '$nama_ibu', '$pekerjaan_ayah','$penghasilan_ayah', '$pekerjaan_ibu', '$penghasilan_ibu','$foto_bukti_penghasilan', '$ip_terakhir','$foto_khs', '$alamat_ortu', '$foto_diri')") or die(mysql_error());
//jika query input sukses
if($input){
header('location: dt_mhs.php');
}
}
ini code pada saat menampilkan salah satu foto (tapi gk mau tampil):
<div class="form-group ">
<label for="inputkode">Slip Gaji</label>
<div class="alert alert-default" style="width: 20%;">
<center>
<a href="foto/<?php echo $data['foto_bukti_penghasilan']; ?>" target="_blank"><img src="foto/<?php echo $data['foto_bukti_penghasilan']; ?>" border="0" style="max-width:100px;"/></a>
</center>
</div>
</div>
ketika foto_bukti_penghasilan diganti dengan foto_diri, maka foto akan tampil.
2 Jawaban:
Jawaban Terpilih
Karena agan menamakan variabel yang sama, sehingga yang keupload adalah file $tmp saja yg terakhir saja, usahakan jangan sama nama variabelnya,
/* Foto pertama */
$foto_bukti_penghasilan = $_FILES['foto_bukti_penghasilan']['name'];
$ukuran_file_1 = $_FILES['foto_bukti_penghasilan']['size'];
$tmp_1 = $_FILES['foto_bukti_penghasilan']['tmp_name'];
$type_1 = $_FILES['foto_bukti_penghasilan']['type'];
$tujuan_1 = "foto/".$foto_bukti_penghasilan;
/* Foto kedua */
$foto_khs = $_FILES['foto_khs']['name'];
$ukuran_file_2 = $_FILES['foto_khs']['size'];
$tmp_2 = $_FILES['foto_khs']['tmp_name'];
$type_2 = $_FILES['foto_khs']['type'];
$tujuan_2 = "foto/".$foto_khs;
/* Foto ketiga */
$foto_diri = $_FILES['foto_diri']['name'];
$ukuran_file_3 = $_FILES['foto_diri']['size'];
$tmp_3 = $_FILES['foto_diri']['tmp_name'];
$type_3 = $_FILES['foto_diri']['type'];
$tujuan_3 = "foto/".$foto_diri;
if($ukuran_file_1 <= 200000000 || $ukuran_file_2 <= 200000000 || $ukuran_file_3 <= 200000000){
/* Daftar extension yang diizinkan */
$allowed_types = array( "image/png", "image/jpg", "image/jpeg");
/* Validasi extenstion dari file yang diupload */
if(in_array($type_1, $allowed_types) && in_array($type_2, $allowed_types) && in_array($type_3, $allowed_types)){
/* Proses upload file */
$upload_1 = move_uploaded_file($tmp_1,$tujuan_1);
$upload_2 = move_uploaded_file($tmp_2,$tujuan_2);
$upload_3 = move_uploaded_file($tmp_3,$tujuan_3);
/* Mengecek apakah berhasil upload semua file */
if($upload_ && $upload_2 && $upload_3){
/* Insert ke database */
$input = mysql_query("INSERT INTO tb_biodata (id_user, jk, tempat_lahir, tgl_lahir, alamat_skrg, jurusan, jenjang, semester, jumlah_sks, nama_ayah, nama_ibu, pekerjaan_ayah, penghasilan_ayah, pekerjaan_ibu, penghasilan_ibu, foto_bukti_penghasilan, ip_terakhir, foto_khs, alamat_ortu, foto_diri)
VALUES('$id_user', '$jk', '$tempat_lahir', '$tgl_lahir', '$alamat_skrg', '$jurusan', '$jenjang', '$semester', '$jumlah_sks', '$nama_ayah', '$nama_ibu', '$pekerjaan_ayah','$penghasilan_ayah', '$pekerjaan_ibu', '$penghasilan_ibu','$foto_bukti_penghasilan', '$ip_terakhir','$foto_khs', '$alamat_ortu', '$foto_diri')") or die(mysql_error());
//jika query input sukses
if($input){
header('location: dt_mhs.php');
}
}
Alhamdulillah,,terima kasih banyak mas,, sebelumnya belum pernah upload foto lebih dari 1 jadi bingung, sekarang udah mulai ngerti dikit2,, sekli lgi terima kasih banyak mas,,jawabannya sangat mmbantu saya,,