Gambar yang diupload tidak masuk di data database mysql

saya ingin mengupload file gambar di database, dan nanti bisa ditampilkan di frontend. Tapi, dari data yang diinput berupa teks dan gambar yang bisa terbaca di database hanya yang teksnya saja sedangkan yang gambar tidak muncul. berikut ini source code upload gambar :

<div class="form-group">
                               <label class="col-sm-2 col-sm-2 control-label"><?php if($this->thisPage!="inspirasimu"){?><span class="asterik">*</span><?php } ?> Gambar</label>
                                <div class="col-sm-8">
                                    <div class="fileupload fileupload-new" data-provides="fileupload">
                                        <div class="fileupload-preview fileupload-exists thumbnail" style="max-width: 200px; max-height: 150px; line-height: 16px;"></div>
                                        <div>
                                            <span class="btn btn-default btn-file">
                                                <span class="fileupload-new"><i class="fa fa-paperclip"></i> Pilih Gambar</span>
                                                <span class="fileupload-exists"><i class="fa fa-undo"></i> Ganti</span>
                                                <input type="file" name="arsitekImage" class="default" value="<?=set_value("arsitekImage");?>" />
                                            </span>
                                            <a href="#" class="btn btn-danger fileupload-exists" data-dismiss="fileupload"><i class="fa fa-trash-o"></i> Hapus</a>
                                        </div>
                                    </div>
                                </div>
                            </div>

dan tampilannya begini : source code bagian modulnya :

if(isset($_FILES['arsitekImage']) && $_FILES['arsitekImage']['name']!=""){
			$media->sectionId = $arsitek->sectionId;
			$media->mediaType 	= "image";
			$media->mediaStatus = "1";
			$upload_directory 	= "media/image/";
			$allowedExt 		= array("png","jpg","jpeg","gif");
			$mimeType			= array("image/jpg","image/png","image/gif");
			$media->mediaName 	= $arsitek->arsitekJudul;
			$media->mediaAlias 	= generate_alias($media->mediaName);
			$media->mediaDesc 	= "";
			$media->mediaSize	= get_size($_FILES['arsitekImage']['size']);
			$media->mediaPrimary= "1";
			$arrExt 			= explode(".", $_FILES["arsitekImage"]["name"]);
			$imgExt 			= strtolower(end($arrExt));
			$media->mediaValue 	= strtolower($detailSection['section_name'])."-".time().".".$imgExt;

			if($_FILES['arsitekImage']['size'] > 8000000){
				$error['arsitekImage'] = "Maksimal File Gambar 8 MB.";
			}
			if(!in_array($_FILES["arsitekImage"]["type"],$mimeType) && !in_array($imgExt,$allowedExt)){
				$error['arsitekImage'] = "Format gambar yang diijinkan .jpg, .png dan .gif";
			}
		}

dan source code bagian classnya:

function insert_arsitek(){
		$sql = "
			INSERT INTO _arsitek VALUES(
				'',
				'".$this->arsitekJudul."',
				'".$this->arsitekImage."',
				'".$this->arsitekDesc."',
				NOW()
			)
		";

		$this->execute($sql);
		$this->lastInsertId = $this->get_last_id();

		return $this->lastInsertId;
	}

	function update_arsitek($opt="",$field="",$value=""){
		if($opt==""){
			$sql = "UPDATE _arsitek
					SET a_judul = '".$this->arsitekJudul."',
						a_image = '".$this->arsitekImage."',
						a_desc	= '".$this->arsitekDesc."'
						WHERE a_id = '".$this->arsitekId."' ";

			$result = $this->execute($sql);
			return $result;
		}
		elseif($opt=="byField"){
			$sql = "UPDATE _arsitek SET ".$field." = '".$value."' WHERE a_id = '".$this->arsitekId."' ";
			$result = $this->execute($sql);
			return $result;
		}

	}

tampilan dashboardnya: sedangkan tampilan di databasenya : imagenya kosong. mohon bimbingannya....

avatar ninna13
@ninna13

5 Kontribusi 1 Poin

Diperbarui 5 tahun yang lalu

Tanggapan

Tipe data d database untk a_image pke apa?

varchar(50)

arsitekImage itu darimana?

nama inputan gambarnya

3 Jawaban:

Jawaban Terpilih

Menurut saya cukup nama file gambarnya saja yang di masukan ke database dan untuk filenya di upload ke folder lain menggunkan fungsi <pre> move_uploaded_file() </pre> kemudian untuk menampilkannya tinggal ambil nama gambarnya dari database kemudian arahkan ke folder letak gambar tadi disimpan

avatar rizki4106
@rizki4106

41 Kontribusi 24 Poin

Dipost 5 tahun yang lalu

Tanggapan

gambar sudah di upload ke folder lain, masalahnya nama file gambar yang mau dipakai tidak muncul di databasenya

tentunya teks fotonya doank yang masuk ke databese broh, lu harus buat folder untuk naruh foto setelah diinputkan nanti, code di atas benar <pre> move_uploaded_file() </pre>

avatar zakkiaz
@zakkiaz

10 Kontribusi 2 Poin

Dipost 5 tahun yang lalu

saya sudah nambahi code kayak diatas <pre> if(!isset($error)){ $arsitek-&gt;insert_arsitek(); if(isset($_FILES['arsitekImage'])){ $media-&gt;dataId = $arsitek-&gt;lastInsertId; $media-&gt;insert_media(); move_uploaded_file($_FILES['arsitekImage']['tmp_name'], $upload_directory.$media-&gt;mediaValue); } $_SESSION['TxtMsg'] = array("status"=&gt;"1","text"=&gt;"Penambahan Data &lt;strong&gt;&quot;".$arsitek-&gt;arsitekJudul."&quot;&lt;/strong&gt; berhasil."); header("Location:".LINK_LIST.""); exit; } </pre> dan di foldernya emang ada <img src='https://i.imgur.com/OZyDypM.jpg'> tapi di databasenya <img src='https://i.imgur.com/Bxceyi3.jpg'>

avatar ninna13
@ninna13

5 Kontribusi 1 Poin

Dipost 5 tahun yang lalu

Tanggapan

move_uploaded_file($_FILES['namafile']['tmp_name'] , 'folder tujuan/' . $_FILES['namafile']['name']);

thanks so much...

Login untuk ikut Jawaban