<?
$syspasswd = "$1R0shFe1eFDA"; // yonok
$maxsize = 2000000; // 2000000 = 2 MB
$allow_listing = "yes"; // yes or no
###############################
$version = "1.0";
if (!isset($_POST['passwd'])) $_POST['passwd'] = "";
#
# update : 1 กันยายน 2549
# by Mr.Burin rujjanapan http://www.thaiall.com/source
# นำโปรแกรม managefile.php มาปรับปรุงให้นักศึกษาส่งงานได้โดยง่าย
# + การนำไปใช้
# - ควรเปลี่ยนชื่อโปรแกรมเป็น index.php และกำหนด syspasswd ใหม่
# - กรอกรหัสผ่านที่ต้องการ คัดลอกจากบรรทัดล่างสุด แล้วคัดลอกมาใส่ตัวแปร $syspasswd
# - ห้ามส่งแฟ้มเข้าไปทับแฟ้มเดิม และชื่อแฟ้มควรใช้ รหัสนักศึกษารวมกับตัวอักษรที่มีความหมาย
# - มีตัวเลือก แสดงแฟ้มที่ส่งเข้ามาหรือไม่
# - สกุลของแฟ้ม ขึ้นอยู่กับ Web Server บางระบบไม่อนุญาต แฟ้ม .exe .swf
# - การแสดงรายชื่อแฟ้ม ไม่แสดง index.php และ managefile.php
# - โปรแกรมนี้ควรชื่อ index.php เพื่อให้นักเรียนส่งงาน แล้ว copy managefile.php มาใช้จัดการแฟ้ม
?>
<html><head><title>Homework Uploading (<?=$version;?>)</title>
<style type="text/css">
td{font-size:10pt;font-family:microsoft sans serif;}
body{font-size:10pt;font-family:microsoft sans serif;}
</style>
</head><body topmargin=0 leftmargin=0>
<form enctype="multipart/form-data" action='' method=post target=_top>
<table bgcolor=#ffffdd width=100%><td valign=top bgcolor=black width=150><font color=white>
<b>Step : 1<br>
รหัสผ่าน : <input name=passwd type=password size=10 value="">
<td valign=top><b>Step : 2</b><br>
แฟ้มที่ส่ง : <input type=file name=upload>
<br><input type=submit name=pro value=Upload><td></form><b>คำแนะนำ</b>
<br>- <b>ส่งงานโดย</b> กรอกรหัสผ่าน กดปุ่ม Browse แล้วกดปุ่ม Upload
<br>- สำหรับรหัสผ่าน ครูจะบอกในชั้นเรียน
<br>- การบ้านควรส่งแฟ้มเป็น .zip และส่งได้ครั้งเดียว
</table>
<hr color=red><base target=_blank>
<?
$crypt = trim(crypt($_POST['passwd'],$syspasswd));
if ($crypt==$syspasswd) {
$dir=".";
$size = $_FILES['upload']['size'];
// == upload process ==
if (!file_exists($_FILES['upload']['name']) && $size > 0 && $size < $maxsize && $_POST['pro']=="Upload") {
$name = $_FILES['upload']['name'];
$copypath = ".";
copy($_FILES['upload']['tmp_name'],"$copypath/$name");
echo "Upload เรียบร้อย : $name $size byte";
}
// == file listing process ==
if ($allow_listing == "yes") {
echo "<table align=center bgcolor=#dddddd bordercolor=#ffffdd border=1>";
$i = 0;
$total = 0;
$dir_handle=opendir($dir);
$retVal = array( );
while ($file = readdir($dir_handle)) {
$retVal[count($retVal)] = $file;
}
closedir($dir_handle);
sort($retVal);
echo "<tr bgcolor=#808080><td>No.<td>Type<td align=center>Name<td>Date<td>Size";
while (list($key, $list) = each($retVal)) {
if ($list != "." && $list != ".." && $list != "managefile.php" && $list != "index.php") {
$i = $i + 1;
$filesize = filesize("$dir/$list");
$filetype = filetype("$dir/$list");
$total = $total + $filesize;
if ($i % 2 == 0) { echo "<tr>"; } else { echo "<tr bgcolor=white>"; }
echo "<td width=50 bgcolor=white>$i<td>$filetype<td width=200><a href=$list target=_blank>$list</a><td width=200 align=right>";
echo date("F d, Y h:ia",fileatime("$dir/$list"));
echo "<td align=right width=100>";
if ($filetype == "file") { echo "<font color=red>$filesize</font> bytes"; }
}
}
echo "<tr><td colspan=5 align=right bgcolor=white>$total bytes";
echo "</table>";
}
} else {
echo "<center><font color=blue>Upload ไม่สำเร็จ หรือ ส่งเข้าไปแล้ว หรือยังไม่ได้ สั่งงานอะไร</center>";
}
// เปลี่ยนรหัสผ่าน โดยคัดลอกค่าที่เข้ารหัสแล้วไปแทนค่าในตัวแปร syspasswd ในบรรทัดที่ 2
echo "<br>syspasswd for admin : <font color=red>".$crypt;
?></body></html>
จำนวน : 86 บรรทัด