|
|
|
ถ้าหนูต้องการที่จะแยกการเก็บไฟล์ของแต่ละรายวิชา ต้องเขียนโค้ดเพิ่มเติมในส่วนไหนค่ะ |
|
|
|
|
|
|
|
///////////////////index_dl.php////(โค้ดอัพโหลดไฟล์)
Code (PHP)
<?php
include ("chksession.php");
?>
<!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>ดาน์โหลดไฟล์</title>
</head>
<body>
<h4 align="right"><?php echo "เข้าสู่ระบบ : $sess_username";?><h4>
<h3><?php echo "ตรวจคำตอบแบบทดสอบหลังเรียน";?></h3>
<p> [<a href="main.php">กลับหน้าหลัก</a>]
[<a href="logout.php">ออกจากระบบ</a>]<hr>
</p>
<?php
echo "
<form action='save_upload.php' method='post' enctype='multipart/form-data' name='form1' id='form1'>
<p>File1:
<input name='file[]' type='file' id='file[]' />
</p>
<p>File2 :
<input name='file[]' type='file' id='file[]' />
</p>
<p>File3 :
<input name='file[]' type='file' id='file[]' />
</p>
<p>File4 :
<input name='file[]' type='file' id='file[]' />
</p>
<p>
<input type='submit' name='Submit' value='Upload' />
</p>
</form>";
?>
---------------------------------------------------------------------------------------------------------------------------------------------
///////////save_upload.php///////////
Code (PHP)
<?php
include ("chksession.php");
?>
<!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>ดาน์โหลดไฟล์</title>
</head>
<body>
<h4 align="right"><?php echo "เข้าสู่ระบบ : $sess_username";?><h4>
<h3><?php echo "ตรวจคำตอบแบบทดสอบหลังเรียน";?></h3>
<p> [<a href="main.php">กลับหน้าหลัก</a>]
[<a href="logout.php">ออกจากระบบ</a>]<hr>
</p>
<?php
//เชื่อมต่อฐานข้อมูลด้วย mysqli
include("connect.php");
$db = @new mysqli("localhost", "", "", "test_fu");
if(mysqli_connect_errno()) die("Connect Failed! :" . mysqli_connect_error());
$db->set_charset("utf8");
if(isset($_POST['Submit'] ))
{
$num_file = count($_FILES['file']['name']);
$select = false;
$count = 0;
for($i = 0; $i < $num_file ; $i++) //เนื่องจาก upload แบบ array เราจึงใช้ loop จัดการทีละไฟล์
{
if($_FILES['file']['error'][$i] != 0) //ถ้าเกิดข้อผิดพลาดให้ข้ามไฟล์นนี้ไป
{
$count++;
continue;
}
if($_FILES['file']['name'][$i] != "")
{
$Filename = $_FILES['file']['name'][$i];
$type = $_FILES['file']['type'][$i];
//เก็บชื่อไฟล์เป็นเวลาขณะที่ upload แล้วตามด้วยนามสกุลไฟล์ ถ้าไฟล์มีชื่อเหมือนกันจะได้ไม่มีปัญหา
//สามารถ upload ไฟล์นามสกุล .gif, .png, .jpg, .zip, .docx, .pdf, .doc, .swf, .rar ได้
$time = time() * microtime();
if ( $type == "image/gif" ) {$Filename = $time.".gif"; $pic_type = 'GIF'; }
else if ( $type == "image/png" ) {$Filename = $time.".png"; $pic_type = 'PNG'; }
else if (( $type == "image/jpg") or ($type=="image/jpeg") or ($type == "image/pjpeg")) {$Filename = $time.".jpg"; $pic_type = 'JPG'; }
else if ($type == "application/octet-stream" ) {$Filename = $time.".zip"; $pic_type = false;}
else if ($type == "application/vnd.openxmlformats-officedocument.wordprocessingml.document" ) {$Filename = $time.".docx"; $pic_type = false;}
else if ($type == "application/pdf" ) {$Filename = $time.".pdf"; $pic_type = false;}
else if ($type == "application/msword" ) {$Filename = $time.".doc"; $pic_type = false;}
else if ($type == "application/x-shockwave-flash" ) {$Filename = $time.".swf"; $pic_type = false;}
else if($type == "application/octet-stream" ) {$Filename = $time.".rar"; $pic_type = false;}
//move ไฟล์ไปยังโฟลเดอร์ที่สร้างไว้ในที่นี้คือ fileupload
if(move_uploaded_file($_FILES['file']['tmp_name'][$i], 'fileupload/'.$Filename)){
//จัดเก็บชื่อไฟล์ลงฐานข้อมูล
$sql = $db->query("INSERT INTO uploadfile (filename) VALUES ('{$Filename}') ");
if($sql)
{
echo "Upload สำเร็จ <br>";
$upload_true = true;
}else{
echo "Upload ล้มเหลว!! <br>";
}
}
}else{
$count++;
}
}
if($upload_true)
echo "<a href='show.php'>View file</a>";
}else{
echo "คุณยังไม่ได้เลือกไฟล์ Upload";
}
?>
-------------------------------------------------------------------------------------------------------------------------------------------------
///////show.php///////////////////
Code (PHP)
<?php
include ("chksession.php");
?>
<!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>ดาน์โหลดไฟล์</title>
</head>
<body>
<h4 align="right"><?php echo "เข้าสู่ระบบ : $sess_username";?><h4>
<h3><?php echo "ตรวจคำตอบแบบทดสอบหลังเรียน";?></h3>
<p> [<a href="main.php">กลับหน้าหลัก</a>]
[<a href="logout.php">ออกจากระบบ</a>]<hr>
</p>
<?php
//เชื่อมต่อฐานข้อมูลด้วย mysqli
$db = @new mysqli("localhost", "", "", "test_fu");
if(mysqli_connect_errno()) die("Connect Failed! :" . mysqli_connect_error());
$db->set_charset("utf8");
$sql = $db->query("SELECT * FROM uploadfile");
echo "<table border = 0 cellpadding = 5 cellspacing = 1> <tr>"; //แสดงข้อมูลด้วยตาราง
$rows = 0;
while($result = $sql->fetch_object()){ //วนลูปแสดงข้อมูล
echo "<td>";
$rows++;
$type = substr($result->filename,-3); //ตัดเอาเฉพาะชื่อไฟล์ 3 ตัวสุดท้าย
if($type == 'jpg' or $type == 'png' or $type == 'gif'){
//ถ้าเป็นไฟล์รูปภาพให้แสดงเป็นรูปภาพพร้อมทั้ง link download
?>
<img src="fileupload/<?php echo $result->filename; ?>">
<?php
//ถ้าไม่ใช่ไฟล์รูปภาพให้แสดงเป็นชื่อไฟล์พร้อมทั้ง link download
}else{ ?>
<a href="fileupload/<?php echo $result->filename; ?>"><?php echo $result->filename; ?></a>
<?php
}
echo"</td>";
if(($rows)%2==0)
{
echo"<tr></tr>";
}
}
echo"</tr></table>";
?>
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2012-10-14 02:29:20 |
By :
yah |
View :
1041 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ในฟอร์ม ส่งข้อมูล ต้องมีการส่ง id รายวิชามาด้วย
ส่วนของการบันทึกข้อมูล ก็ใช้ เงื่อนไขแยกอีกที
|
|
|
|
|
Date :
2012-10-14 15:25:30 |
By :
iieszz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีโค้ดเป็นตัวอย่างบ้างมั้ยค่ะ.....จะดั้ยไปประยุกต์
|
|
|
|
|
Date :
2012-10-14 21:12:00 |
By :
yah |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|