Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

Cara validasi gambar menggunakan php

gan saya mau nanya permasalahan nya gini saya mau membuat validasi gambar ketika user mengupload gambar jika nama gambarnya itu sama kan utomatis berubah seperti "gambar_10193.jpg" nah permasalahan nya ketika saya mengupload gambar berekstensi .png maka dia otomatis berubah menjadi "gambar.png_1038920" nah format nya si gambar .png ini berubah menjadi .jpg mohon bantuan nya gan.


if(isset($_POST['submit']) ){
			//print_r($_FILES['gambar']);

			$time	= time();
			$nama 	= $_FILES['gambar']['name'];
			$jenis	= $_FILES['gambar']['type'];
			$lok	= $_FILES['gambar']['tmp_name'];
			$error 	= $_FILES['gambar']['error'];
			$size	= $_FILES['gambar']['size'];
			$nfile	= 'upload/'. $nama; //nfile = nama file

			if( $error == 0){
				if( $size <= 1000000){
					//proses pergantian nama dan extensi
					if(file_exists($nfile) ){
						$nfile = str_replace(".jpg" , "" , $nfile);
						$nfile = $nfile . "_" . $time . ".jpg";

						move_uploaded_file($lok , $nfile);

						echo"<p align='center'>file berhasil di upload</p>";
					}else{a
						move_uploaded_file($lok , $nfile);
						echo"<p align='center'>file berhasil di upload</p>";
					}
					//end ------------------------------
				}else{
					echo "<p align='center'>File terlalu Besar</p>";
				}

			}else{
				echo "<p align='center'>ada error</p>";
			}
		}


avatar yogapermana
@yogapermana

39 Kontribusi 10 Poin

Diperbarui 7 tahun yang lalu

4 Jawaban:

 if(file_exists($nfile) ){
        //cek ekstensi
        $file_parts = pathinfo($nama);
        $ext = $file_parts['extension'];
        if($ext=='jpg){
	 $nfile = str_replace(".jpg" , "" , $nfile);
	 $nfile = $nfile . "_" . $time . ".jpg";
	}elseif($ext='png'){
         $nfile = str_replace(".png" , "" , $nfile);
	 $nfile = $nfile . "_" . $time . ".png";
        }
	move_uploaded_file($lok , $nfile);

	echo"<p align='center'>file berhasil di upload</p>";
       }else{a
	move_uploaded_file($lok , $nfile);
	echo"<p align='center'>file berhasil di upload</p>";
       }

https://stackoverflow.com/questions/7563658/php-check-file-extension

avatar hafizhsb
@hafizhsb

2 Kontribusi 1 Poin

Dipost 7 tahun yang lalu



        $file_parts = pathinfo($nama);
        $ext = $file_parts['extension'];

saya kurang paham pada bagian ini gan bisa tolong dijelaskan ? @hafizhsb

avatar yogapermana
@yogapermana

39 Kontribusi 10 Poin

Dipost 7 tahun yang lalu

pathinfo($lokasiFile) adalah fungsi php untuk melihat informasi lokasi file, dan lain2. salah satunya melihat ekstensi filenya.

contoh : $file_path = pathinfo($lokasiFile);

jika di print_r($file_path);

Kalau gambar png isinya : Array ( [dirname] => . [basename] => user.png [extension] => png [filename] => user )

Kalau gambar jpg isinya : Array ( [dirname] => . [basename] => foto.jpg [extension] => jpg [filename] => foto )

karena kita mau cek ekstensi filenya, disini kasusnya jpg atau png, kita harus masuk ke index array yang menentukan ekstensi file, yaitu di index [extension]

$ext = $file_path['extension'];

http://php.net/manual/en/function.pathinfo.php https://stackoverflow.com/questions/7563658/php-check-file-extension

avatar hafizhsb
@hafizhsb

2 Kontribusi 1 Poin

Dipost 7 tahun yang lalu

nyimak sembari bookmarks seperti berguna B-)

avatar KepalaSekolah
@KepalaSekolah

82 Kontribusi 69 Poin

Dipost 7 tahun yang lalu

Login untuk ikut Jawaban