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.

avatar Sariati
@Sariati

41 Kontribusi 0 Poin

Diperbarui 6 tahun yang lalu

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');

                    }
                }

avatar ahanafi
@ahanafi

815 Kontribusi 552 Poin

Dipost 6 tahun yang lalu

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,,

avatar Sariati
@Sariati

41 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban