Php Code Upload File การอัพโหลดไฟล์และการตรวจสอบประเภทของไฟล์ภาพและอื่น ๆ

Php Code Upload File การอัพโหลดไฟล์และการตรวจสอบประเภทของไฟล์ภาพและอื่น ๆ

PHP CODE FATHER โปรแกรมช่วยสร้างโค้ด โปรเจ็ค PHP+MySQL+Boostrap ใช้งานง่าย ๆ


ขออธิบายแบบเท็กส์ นะครับ อาจจะดูยืดยาว และยุ่งยากไปสักหน่อย
แต่ถ้าอ่านจนจบ รับรองได้ว่า ทำตามได้แน่นอน....

1.ก่อนอื่นเราก็สร้างฟอร์มขึ้นมาเพื่อส่งค่าครับ (เอาแบบง่าย ๆ เลยละกัน)

<form name="frm1" action="artist.php?action=add" method="post" onSubmit="return Check_txt()" enctype='multipart/form-data'>
      <input name='artist_picture' id="artist_picture" type='file'>
      <input type='submit' name='Submit' value='   บันทึก   '>
</form>


2.ส่วนของการตรวจสอบประเภทของไฟล์และค่าที่ถูกส่งมา เช่น ให้ส่งได้เฉพาะไฟล์ภาพ นาสกุล .gif, .jpg เป็นต้น
หากเลือกส่งมาผิดประเภท เราก็สามารถตรวจสอบและแจ้งกลับไปได้เลย

<script language="JavaScript">

function Check_txt(){
//*******************************
if(document.getElementById('artist_picture').value!=""){
    var fty=new Array(".gif",".jpg",".jpeg"); // ประเภทไฟล์ที่อนุญาตให้อัพโหลด  
        var a=document.frm1.artist_picture.value; //กำหนดค่าของไฟล์ใหกับตัวแปร a   
        var permiss=0; // เงื่อนไขไฟล์อนุญาต
        a=a.toLowerCase();   
        if(a !=""){
            for(i=0;i<fty.length;i++){ // วน Loop ตรวจสอบไฟล์ที่อนุญาต  
                if(a.lastIndexOf(fty[i])>=0){  // เงื่อนไขไฟล์ที่อนุญาต  
                    permiss=1;
                    break;
                }else{
                    continue;
                }
            } 
            if(permiss==0){
                alert("อัพโหลดได้เฉพาะไฟล์ gif jpg jpeg"); 
                document.getElementById('artist_picture').value="" ; 
                return false;              
            }        
        }       
    
}
//******************************

</script>

3.หากไฟล์ที่ส่งมาถูกประเภทแล้ว ก็ส่งข้อมูลไปยังหน้าที่เราจะอัพโหลด โดยจะมี code php สำหรับเปลี่ยนขนาดของไฟล์ภาพ
ให้ไม่ใหญ่มาก เพื่อที่จะได้ไม่หนักเครื่องเซอร์เวอร์

if($action=="add"){

//*****************************************
if ($artist_picture!= '') {
    $path='adminweb/picture_upload/';
    $file=$_FILES['artist_picture']['name'];
    $file_type=substr($file,strlen($file)-4,strlen($file));
    $pic_name='artist_picture_'.$artist_id.strtoupper($file_type);
    $artist_picture=$pic_name;
    // เริ่มกระบวนการรีไซต์ รูปภาพ
    copy ($_FILES['artist_picture']['tmp_name'],$path.$pic_name); //ทำการ copy รูป
    
    $images = $path.$pic_name;
    $height = 255; //กำหนดขนาดความสูง
    $size = getimagesize($images);
    $width = round($height*$size[0]/$size[1]); //ขนาดความกว้่างคำนวนเพื่อความสมส่วนของรูป
    if($size[2] == 1) {
        $images_orig = imagecreatefromgif($images); //resize รูปประเภท GIF
    } else if($size[2] == 2) {
        $images_orig = imagecreatefromjpeg($images); //resize รูปประเภท JPEG
    }
    $photoX = imagesx($images_orig);
    $photoY = imagesy($images_orig);
    $images_fin = imagecreatetruecolor($width, $height);
    imagecopyresampled($images_fin, $images_orig, 0, 0, 0, 0, $width+1, $height+1, $photoX, $photoY);
    imagejpeg($images_fin, $images); //ชื่อไฟล์ใหม่
    imagedestroy($images_orig);
    imagedestroy($images_fin);
}
//*****************************************

}

หลัีก ๆ ก็จะมี 3 ส่วนนี้ครับ โดยในการใช้งานจริงจะเรียง 3 2 และ 1 ตามลำดับ
เพียงแค่นี้เราก็จะสามารถอัพโหลดไฟล์ได้ตามที่ต้องการ และยังลดขนาดไฟล์ภาพได้ด้วย
ส่วนถ้าเป็นการอัพโหลดไฟล์เพลง หรือไฟล์ประเภทอื่น ๆ  ก็ใช้โค้ดประมาณนี้เหมือนกันครับ
เพียงแต่ต้องเปลี่ยนนามสกุลตามที่เราต้องการ

อาจจะยังไม่เห็นภาพ และอาจจะดูยุ่งยากไปสักหน่อย
แต่ก็อยากให้ลองดูครับ ที่ไม่ได้ทำเป็นไฟล์สำเร็จรูปไว้ให้ ก็เเพราะอยากให้ได้ทดลองทำ
จะได้รู้ด้วยตัวเอง และเข้าใจได้ลึกซึ้งกว่า นั่นเอง............

หากมีข้อสงสัยก็สอบถามกันเข้ามาได้นะครับ ยินดีตอบและช่วยเหลือเต็มที่ครับผ๋ม

ย้อนกลับ กลับหน้าแรก