• June 2, 2017

    สร้างฟอร์มและอัพโหลดไฟล์เข้าไปใน database และกำหนดให้มีการมีเปลี่ยนชื่อไฟล์โดยเอาเวลาไปไว้ข้างหน้าชื่อไฟล์เดิมเพื่อป้องกันชื่อไฟล์ซ้ำ

    ก่อนอื่นเราต้องสร้าง table เพื่อเก็บชื่อไฟล์ใน database

    ภาษา SQL

    CREATE TABLE IF NOT EXISTS `uploadfile` (
    `fileID` int(5) NOT NULL,
      `fileupload` varchar(200) CHARACTER SET utf8 NOT NULL,
      `dateup` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
    ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;

    ฟอร์มสำหรับ upload และแสดงไฟล์ที่เรา upload เข้าไป

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>UPLOAD FILE</title>
    </head>
    <body>
    <?php
    //1. เชื่อมต่อ database: 
    include('connection.php');  //ไฟล์เชื่อมต่อกับ database ที่เราได้สร้างไว้ก่อนหน้าน้ี
    //2. query ข้อมูลจากตาราง: 
    $query = "SELECT * FROM uploadfile ORDER BY fileID asc" or die("Error:" . mysqli_error()); 
    //3. execute the query. 
    $result = mysqli_query($con, $query); 
    //4 . แสดงข้อมูลที่ query ออกมา: 
    
    //ใช้ตารางในการจัดข้อมูล
    echo "<table border='1' align='center' width='500'>";
    //หัวข้อตาราง
    echo "<tr align='center' bgcolor='#CCCCCC'><td>File ID</td><td>File</td><td>date_create</td></tr>";
    while($row = mysqli_fetch_array($result)) { 
      echo "<tr>";
      echo "<td align='center'>" .$row["fileID"] .  "</td> "; 
      //echo "<td><a href='.$row['fileupload']'>showfile</a></td> ";
      echo "<td>"  .$row["fileupload"] . "</td> ";  
      echo "<td align='center'>" .$row["dateup"] .  "</td> ";
      echo "</tr>";
    }
    echo "</table>";
    //5. close connection
    mysqli_close($con);
    ?>
    <br/>
    <form action="add_file_db.php" method="post" enctype="multipart/form-data" name="upfile" id="upfile">
      <p>&nbsp;</p>
      <table width="700" border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td height="40" colspan="2" align="center" bgcolor="#D6D6D6">Form Upload&nbsp;File</td>
        </tr>
        <tr>
          <td width="126" bgcolor="#EDEDED">&nbsp;</td>
          <td width="574" bgcolor="#EDEDED">&nbsp;</td>
        </tr>
        <tr>
          <td align="center" bgcolor="#EDEDED">File Browser</td>
          <td bgcolor="#EDEDED"><label>
            <input type="file" name="fileupload" id="fileupload"  required="required"/>
          </label></td>
        </tr>
        <tr>
          <td bgcolor="#EDEDED">&nbsp;</td>
          <td bgcolor="#EDEDED">&nbsp;</td>
        </tr>
        <tr>
          <td bgcolor="#EDEDED">&nbsp;</td>
          <td bgcolor="#EDEDED"><input type="submit" name="button" id="button" value="Upload" /></td>
        </tr>
        <tr>
          <td bgcolor="#EDEDED">&nbsp;</td>
          <td bgcolor="#EDEDED">&nbsp;</td>
        </tr>
      </table>
      <p>&nbsp;</p>
    </form>
    </body>
    </html>

    ไฟล์ php ที่จะบันทึกข้อมูล (INSERT INTO) ที่กรอกในฟอร์มลงใน database ให้ตั้งชื่อไฟล์ว่า add_file_db.php นะครับ เพราะเราให้ฟอร์ม upload file ส่งค่า (action) มาที่ไฟล์นี้ หรือให้ทำงานต่อที่ไฟล์นี้ และไฟล์add_file_db.php ก็จะรับค่าเพื่อนำไปเก็บใน database ต่อไป

    <meta charset="UTF-8">
    <?php
    //1. เชื่อมต่อ database: 
    include('connection.php');  //ไฟล์เชื่อมต่อกับ database ที่เราได้สร้างไว้ก่อนหน้าน้ี
    $fileupload = $_REQUEST['fileupload']; //รับค่าไฟล์จากฟอร์ม		
    $date = date("d-m-Y"); //กำหนดวันที่และเวลา
    //เพิ่มไฟล์
    $upload=$_FILES['fileupload'];
    if($upload <> '') {   //not select file
    //โฟลเดอร์ที่จะ upload file เข้าไป 
    $path="fileupload/";  
    
    //เอาชื่อไฟล์ที่มีอักขระแปลกๆออก
    	$remove_these = array(' ','`','"','\'','\\','/','_');
    	$newname = str_replace($remove_these, '', $_FILES['fileupload']['name']);
     
    	//ตั้งชื่อไฟล์ใหม่โดยเอาเวลาไว้หน้าชื่อไฟล์เดิม
    	$newname = time().'-'.$newname;
    $path_copy=$path.$newname;
    $path_link="fileupload/".$newname;
    
    //คัดลอกไฟล์ไปเก็บที่เว็บเซริ์ฟเวอร์
    move_uploaded_file($_FILES['fileupload']['tmp_name'],$path_copy);  	
    	}
    	// เพิ่มไฟล์เข้าไปในตาราง uploadfile
    	
    		$sql = "INSERT INTO uploadfile (fileupload) 
    		VALUES('$newname')";
    		
    		$result = mysqli_query($con, $sql) or die ("Error in query: $sql " . mysqli_error());
    	
    	mysqli_close($con);
    	// javascript แสดงการ upload file
    	
    	if($result){
    	echo "<script type='text/javascript'>";
    	echo "alert('Upload File Succesfuly');";
    	echo "window.location = 'uploadfile.php'; ";
    	echo "</script>";
    	}
    	else{
    	echo "<script type='text/javascript'>";
    	echo "alert('Error back to upload again');";
    	echo "</script>";
    }
    ?>

    กรณีอัพโหลดเป็นไฟล์ภาพ (.jpg) และต้องการให้แสดงภาพด้วยก็เอาโค๊ดจากไฟล์นี้

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>UPLOAD FILE</title>
    </head>
    <body>
    <?php
    //1. เชื่อมต่อ database: 
    include('connection.php');  //ไฟล์เชื่อมต่อกับ database ที่เราได้สร้างไว้ก่อนหน้าน้ี
    //2. query ข้อมูลจากตาราง: 
    $query = "SELECT * FROM uploadfile" or die("Error:" . mysqli_error()); 
    //3.เก็บข้อมูลที่ query ออกมาไว้ในตัวแปร result . 
    $result = mysqli_query($con, $query); 
    //4 . แสดงข้อมูลที่ query ออกมา โดยใช้ตารางในการจัดข้อมูล: 
    echo "<table border='1' align='center' width='500'>";
    //หัวข้อตาราง
    echo "<tr align='center' bgcolor='#CCCCCC'><td>filename</td><td> img </td></tr>";
    while($row = mysqli_fetch_array($result)) { 
      echo "<tr>";
      echo "<td>" .$row["fileupload"] .  "</td> ";
      echo "<td>"."<img src='fileupload/".$row[fileupload]."' width='100'>"."</td>";
      echo "</tr>";
    }
    echo "</table>";
    //5. close connection
    mysqli_close($con);
    ?>
    <br/>
    <form action="add_file_db.php" method="post" enctype="multipart/form-data" name="upfile" id="upfile">
      <p>&nbsp;</p>
      <table width="700" border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td height="40" colspan="2" align="center" bgcolor="#D6D6D6">Form Upload&nbsp;File</td>
        </tr>
        <tr>
          <td width="126" bgcolor="#EDEDED">&nbsp;</td>
          <td width="574" bgcolor="#EDEDED">&nbsp;</td>
        </tr>
        <tr>
          <td align="center" bgcolor="#EDEDED">File Browser</td>
          <td bgcolor="#EDEDED"><label>
            <input type="file" name="fileupload" id="fileupload"  required="required"/>
          </label></td>
        </tr>
        <tr>
          <td bgcolor="#EDEDED">&nbsp;</td>
          <td bgcolor="#EDEDED">&nbsp;</td>
        </tr>
        <tr>
          <td bgcolor="#EDEDED">&nbsp;</td>
          <td bgcolor="#EDEDED"><input type="submit" name="button" id="button" value="Upload" /></td>
        </tr>
        <tr>
          <td bgcolor="#EDEDED">&nbsp;</td>
          <td bgcolor="#EDEDED">&nbsp;</td>
        </tr>
      </table>
    </form>
    </body>
    </html>

    http://devbanban.com/?p=297



เวอไนน์ไอคอร์ส

ประหยัดเวลากว่า 100 เท่า!






เวอไนน์เว็บไซต์⚡️
สร้างเว็บไซต์ ดูแลเว็บไซต์

Categories