เข้าจัดการแฟ้ม (File Manager)
รหัสสมาชิก : เช่น romeo
รหัสผ่าน : เช่น thelover
<-- click to Sign in
ถ้าเข้า Sign in ได้สำเร็จ อย่ากดปุ่ม Back
เพราะสถานะการเข้าใช้จะหมดอายุ
"; # if (isset($_REQUEST["user"])) $user = $_REQUEST["user"]; else $user = ""; $getadmin = ""; if (isset($_POST["admin_password"])) { $getadmin = $_POST["admin_password"]; $_SESSION["getadmin"] = $getadmin; } elseif (isset($_SESSION["getadmin"])) $getadmin = $_SESSION["getadmin"]; $tb_delete = "
=>
รหัสสมาชิก :
Admin Password :
"; # $header = "$title
หน้าหลัก
Home
"; # $create_user_menu = "
สมัครสมาชิกใหม่
Sign up
แสดงรายชื่อสมาชิก
Members Listing
เข้าใช้ เพิ่ม ลบแฟ้ม
Sing in + Upload
"; # $user_menu = "
รหัสต้นฉบับ
Source Code
คำถาม & คำตอบ
Questions & Answers
"; # $ip = explode(".",$_SERVER['REMOTE_ADDR']); ## 02 : Function Controller ## if (isset($_GET['secure'])) write_secret_image(); echo $header; if ($create_user == "1") echo $create_user_menu; echo $user_menu; if (isset($_GET['action'])) { if ($_GET['action'] == "faqs" && $view_faqs == "1") faqs(); if ($_GET['action'] == "source" && $view_source == "1") view_source(); if ($_GET['action'] == "folder_listing") folder_listing(); if ($_GET['action'] == "User_listing" && file_exists($user_file)) user_listing(); if ($_GET['action'] == "User_login") user_login1(); if ($_GET['action'] == "delete_user") echo $tb_delete; if ($_GET['action'] == "Regist") regist_user1(); } if (isset($_POST['action'])) { if ($_POST['action'] == "admin_password") create_admin_password(); if (isset($_POST['admin_password'])) delete_user(); if ($_POST['action'] == "Create Folder" && isset($_SESSION['luser'])) create_folder(); if ($_POST['action'] == "แก้" && $_SESSION['luser'] != "ยังไม่มี") edit_html1(); if ($_POST['action'] == "save_file" && $_POST['keepaction'] == "แก้" && $_SESSION['luser'] != "ยังไม่มี") edit_html2(); if ($_POST['action'] == "แก้ไขข้อมูลสมาชิก" && $_SESSION['luser'] != "ยังไม่มี") edit_user1(); if ($_POST['action'] == "แก้ไขข้อมูลสมาชิก" && isset($_POST['p0']) && trim(crypt($_POST['p0'],$nutforcrypt)) == $_SESSION['lpassword'] && $_SESSION['luser'] != "ยังไม่มี") edit_user2(); if ($_POST['action'] == "ลบ" && $_SESSION['luser'] != "ยังไม่มี") delete_file(); if ($_POST['action'] == "upload") upload_file(); if ($_POST['action'] == "เลิกการทำงาน") user_logout(); if ($_POST['action'] == "เข้าใช้บริการ" || $_POST['action'] == "เข้าจัดการแฟ้ม") user_login2(); } if (!isset($_GET['action']) && !isset($_POST['action'])) regist_user1(); if (isset($_POST['user'])) { if ($_SESSION['securekey'] == $_POST['secure']) { regist_user2(); } else { echo "
ท่านกรอกรหัสสุ่มไม่ถูกต้อง "; echo "[" . $securekey ."!=". $_POST['secure'] . "]"; echo "
สมัครสมาชิกใหม่"; } } user_functions(); footer(); ## 03 : Regist for new user 1/2 ## function regist_user1() { global $user_file,$web_url,$login_page,$create_user; if ($create_user == "0") exit; if (!file_exists($user_file)) { $file = fopen($user_file,"a"); fputs($file, ""); fclose($file); if (!file_exists($user_file)) { echo "ถ้าโปรแกรมนี้สร้างแฟ้ม $user_file ให้ท่านไม่ได้
ท่านต้องเปลี่ยนระดับสิทธิ์ของ Folder ที่ใช้เก็บโปรแกรมนี้
เพราะปัจจุบันเป็นแบบ Read Only เท่านั้น"; } else { echo "ระบบสร้างแฟ้ม $user_file ให้ท่านเรียบร้อยแล้ว"; } exit; } $_SESSION['luser'] = "ยังไม่มี"; $securekey = $_SESSION['securekey']; ?>
ตัวอย่างเว็บที่จะได้รับ ชื่อภาษาอังกฤษ
รหัสสุ่ม (Random Code) 1*
ให้เปลี่ยนคำว่า your_english_name เป็น ชื่อเว็บภาษาอังกฤษที่ท่านต้องการ
ข้อมูลทั้งหมดที่กรอกต้องเป็นจริง มิเช่นนั้นเว็บของท่านอาจถูกลบ
2*
รหัสผ่านที่ต้องการ (Password)3*
ยืนยันรหัสผ่านอีกครั้ง (Password Again)4*
ชื่อ-สกุลภาษาไทย (Name Surname)5*
e-mail (เช่น boy@thaiall.com)6
สถาบันการศึกษา(School Name)7
เป้าหมายหลัก (รวมลิงค์เว็บนักเรียนในไทย)
ศึกษา พัฒนา และเผยแพร่โค้ด สำหรับเปิดบริการฟรีเว็บโฮสติ้ง ด้วย Script เพียงแฟ้มเดียว ทำให้ง่ายสำหรับนักเรียน ครู หรือข้าราชการ ที่จะนำไปเปิดบริการในสถาบัน หรือองค์กรของตนเอง
นโยบายที่กำหนดใน Default Script
1. ให้พื้นที่เพียง 1 MB สำหรับสมาชิก Standard
2. ไม่อนุญาต Server-Side Script เช่น Perl, PHP หรือ ASP
3. แฟ้มที่ upload เข้า Server ต้องไม่เกิน 200 KB
4. Free Web Hosting ของเราเป็นเพียงกรณีศึกษา
การคัดลอก Script หรือ Source Code ไปใช้
1. เครื่องของท่าน ต้องเป็น Web Server ถ้าไม่เป็น ก็ต้องติดตั้งเพิ่ม
2. เครื่องของท่านต้องบริการภาษา PHP
3. โปรแกรมนี้ไม่ใช้ MySQL แต่ใช้ Text File เก็บข้อมูล
4. ถ้าผมพบข้อผิดพลาดจะแก้ไข ให้ท่านกลับมาคัดลอกรุ่นใหม่
การใช้บริการ Free Web Hosting
1. เข้า thainame.net เพื่อใช้บริการ หรือเลือกเข้าชุมชน
2. เข้า weblampang.com เป็นตัวอย่างชุมชนย่อย .. ชุมชนหนึ่ง
3. เข้า thaiabc.net เป็นชุมชนย่อย ที่สมาชิกเป็นเจ้าของโดเมน แล้วสั่งชี้มา
4. คัดลอก Source Code ไปเปิดบริการใน Web Hosting ของตนเอง
'); $ur = $_POST['user']; $ur = str_replace($non, '', $ur); if ($ur != $_POST['user']) $have = 1; # if ($have == 0 && (strlen($_POST['user'])> 2) && (strlen($_POST['user']) < 12) && (strlen($_POST['p1'])> 2) && ($_POST['p1'] == $_POST['p2']) && (strlen($_POST['namesurn'])> 2) && (substr($_POST['user'],0,4) <> "http") && (substr($_POST['user'],0,3) <> "www")) { $_SESSION['luser'] = $_POST['user']; $_SESSION['lpassword'] = trim(crypt($_POST['p1'],$nutforcrypt)); $crypt = trim(crypt($_POST['p1'],$nutforcrypt)); $file = fopen($user_file,"a"); fputs($file, $_POST['user'] . ",$crypt,". date("d/m/Y H:i:s") .",0," . $_POST['namesurn'] . "," . $_POST['email'] ."," . $_POST['org'] .",\n"); fclose($file); $d = $_POST['user']; mkdir("$d",0777); $file = fopen("$d"."/index.html","a"); fputs($file,"
ขณะนี้ท่านมีพื้นที่ใน Server ตัวนี้เป็นของท่านแล้ว
"); fputs($file,"ขั้นตอนต่อไป คือ สร้างแฟ้ม index.html แล้ว Upload เข้ามาทับแฟ้มเดิม
"); fputs($file,"ถ้า Upload แฟ้ม index.html เข้ามาทับของเดิมแล้ว เว็บเพจที่ท่านเห็นอยู่นี้จะหายไป
"); // fputs($file,""); fclose($file); echo "
สมัครสมาชิกเรียบร้อย : Completely"; echo "
"; echo "$web_url". $_POST['user'] . ""; filelisting(); } else { echo "
"; if ($have> 0) "มีสมาชิกคนนี้อยู่แล้ว
"; if (strlen($_POST['user']) <= 2) "รหัสผู้ใช้สั้นเกินไป
"; if (strlen($_POST['user'])>= 12) "รหัสผู้ใช้ยาวเกินไป
"; if (strlen($_POST['namesurn']) <= 2) "ชื่อ-สกุล มีอย่างน้อย 2 ตัวอักษร
"; if (strlen($_POST['p1']) <= 2) "รหัสผ่านต้องมากกว่า 2 ตัวอักษร
"; if ($_POST['p1'] <> $_POST['p2']) "กรอกรหัสผ่าน 2 ครั้งไม่ตรงกัน
"; echo "ผลการสมัคร ผิดพลาด
ให้ท่านกลับไปตรวจสอบข้อมูลใหม่"; if ($have == 1) { echo "
รหัสสมาชิก " . $_POST['user'] . " ถูกจองไปแล้ว"; } echo "
สมัครสมาชิกใหม่"; } } ## 05 : User listing ## function user_listing() { global $user_file,$line_userlisting,$admin_password,$web_url,$type_webspace; $utype = ""; if (isset($_GET['utype'])) { $utype = "&utype=" . $_GET['utype']; } echo "
หน้าที่"; $ar = file($user_file); $total_page = round(count($ar)/$line_userlisting); if ((count($ar) / $line_userlisting)> $total_page) { $total_page++; } if (!isset($_GET['page'])) { $_GET['page'] = 1; } $last=count($ar) - $line_userlisting * ($_GET['page'] - 1); $first=count($ar) - $line_userlisting * $_GET['page']; if (isset($_GET["q"])) { $last=count($ar) - 1; $first=0; } if ($first < 0) { $first = 0; } for ($i=1;$i<=$total_page;$i++) { echo "$i . "; if (($i % 30) == 0) echo "
"; } echo "
". count($ar). "
สมาชิก"; echo "
"; if (isset($_GET['utype'])) echo ""; echo "
แสดงผล มาตรฐาน | "; echo "แสดงเวลา เรียงแบบ a-z,z-a | "; echo "จำนวนแฟ้ม | ลบสมาชิก"; echo "
"; echo ""; echo ""; for ($i=$last-1;$i>=$first;$i--){ $arr = explode(",",$ar[$i]); $k = count($ar) - $i; $last = ""; if (file_exists($arr[0] ."/lastlog.log")) { $arl = file($arr[0] ."/lastlog.log"); if (count($arl)> 0) { $last = $arl[count($arl)-1]; } } if ($bg_index == "") $bg_index = "bgcolor=#ffffaa"; else $bg_index = ""; # type none $found = 0; if (strlen($_GET["q"])> 0) { if ($_GET["key"] == "ค้นชื่อ") { $usefield = $arr[4].$arr[0]; } else { $usefield = $arr[6]; } if (stristr(strtolower($usefield),strtolower($_GET["q"]))) $found = 1; } if ($found == 1 || strlen($_GET["q"]) == 0) { if (isset($_SESSION['admin_password_login']) && $_SESSION['admin_password_login'] == $admin_password) $del = "#"; else $del = ""; echo ""; echo ""; } } } else { if ($_GET['utype'] == "last") { echo "e-mail"; for ($i=$last-1;$i>=$first;$i--){ $arr = explode(",",$ar[$i]); $k = count($ar) - $i; $last = ""; if (file_exists($arr[0] ."/lastlog.log")) { $arl = file($arr[0] ."/lastlog.log"); if (count($arl)> 0) { $last = $arl[count($arl)-1]; } } # type last $found = 0; if (isset($_SESSION['admin_password_login']) && $_SESSION['admin_password_login'] == $admin_password) $del = "#"; else $del = ""; if (strlen($_GET["q"])> 0) { if ($_GET["key"] == "ค้นชื่อ") { $usefield = $arr[4].$arr[0]; } else { $usefield = $arr[6]; } if (stristr(strtolower($usefield),strtolower($_GET["q"]))) $found = 1; } if ($found == 1 || strlen($_GET["q"]) == 0) $datalast[$i] = ""; } if (isset($_GET['direct'])) { if ($_GET['direct'] == "asc") asort($datalast); if ($_GET['direct'] == "des") rsort($datalast); reset($datalast); } foreach ($datalast as $v) echo "$v"; } else { if ($_GET['utype'] == "totfile") { echo "e-mail"; for ($i=$last-1;$i>=$first;$i--){ $arr = explode(",",$ar[$i]); $k = count($ar) - $i; $totfile = 0; $dir = "./" . $arr[0]; $dir_handle=opendir($dir); $retVal[] = ""; while ($file = readdir($dir_handle)) { if ($file != "." && $file != ".." && $file != "lastlog.log") { $totfile = $totfile + 1; $filetypes = filetype($dir."/".$file); if ($filetypes == "dir") { $dir_handles=opendir($dir."/".$file); while ($files = readdir($dir_handles)) { if ($files != "." && $files != "..") $totfile = $totfile + 1; } } } } closedir($dir_handle); if ($bg_index == "") $bg_index = "bgcolor=#ffffaa"; else $bg_index = ""; # type totfile $found = 0; if (isset($_SESSION['admin_password_login']) && $_SESSION['admin_password_login'] == $admin_password) $del = "#"; else $del = ""; if (strlen($_GET["q"])> 0) if (stristr(strtolower($arr[6]),strtolower($_GET["q"]))) $found = 1; if ($found == 1 || strlen($_GET["q"]) == 0) { echo ""; echo ""; } } }}} echo "
รายชื่อสมาชิก
ลำดับเว็บของสมาชิก"; if (isset($_SESSION['getadmin'])) $getadmin = $_SESSION['getadmin']; else $getadmin =""; $bg_index = ""; if (!isset($_GET["q"])) $_GET["q"] = ""; if (!isset($_GET['utype'])) { echo "ชื่อสมาชิกชื่อสถาบันการศึกษา หรือองค์การประเภทเวลาที่สมัคร
$k$arr[0] $del$arr[4]$arr[6]" . $type_webspace[$arr[3]] . "$arr[2]
ข้อมูลการ Sing in ล่าสุด (ถ้ามี)
$k$arr[0] $del$arr[5]$last  
จำนวนแฟ้มใน Home Directory
$k$arr[0] $del$arr[5]$totfile
"; } ## 06 : User login 1/2 ## function user_login1() { global $login_page; if (isset($_SESSION['luser'])) session_unregister('luser'); $_SESSION['luser'] = "ยังไม่มี"; echo $login_page; } ## 07 : User login 2/2 ## function user_login2() { $found = check_password(); if ($_POST['action'] == "เข้าใช้บริการ" && $found == 1) { $file = fopen($_SESSION['luser']."/lastlog.log","a"); fputs($file, date("Y/m/d H:i:s"). "," . $_SERVER['REMOTE_ADDR'] .",\n"); fclose($file); } filelisting(); } ## 08 : User logout ## function user_logout() { $_SESSION['luser'] = "ยังไม่มี"; echo "
ท่าน Sign Out ออกไปเรียบร้อย
ขอบคุณที่เข้ามาใช้บริการ"; } ## 09 : Upload file ## function upload_file() { global $msg; for ($i=1;$i<=12;$i++) { if ($_FILES['upload'.$i]['size']> 0) upload_file_sub($i); } if (strlen($msg)> 1) { echo "
ผลการ Upload แฟ้ม :$msg"; echo "
ถ้าท่านไม่พบคำว่า Completely ท้ายแฟ้มที่ upload อาจเป็นไปได้ว่าแฟ้มของท่านมีปัญหา หรือ ติดต่อ webmaster เพื่อขอคำปรึกษา
"; } filelisting(); if (isset($_SESSION['securekey'])) $_SESSION['securekey'] = 100000 - (rand() % 99999); } ## 10 : Delete file ## function delete_file() { $found = check_password(); $thisfile = $_POST['thisfile']; if ($found == 1) { $filetype = filetype($thisfile); if ($filetype == "dir") { @rmdir($thisfile); } else { unlink($thisfile); } } filelisting(); } ## 11 : Edit user profile 1/2 ## function edit_user1() { $found = check_password(); global $web_url,$mem_namesurn,$mem_email,$mem_org; if ($found == 1) { if (isset($_POST["namesurn"])) $mem_namesurn = $_POST["namesurn"]; if (isset($_POST["email"])) $mem_email = $_POST["email"]; if (isset($_POST["org"])) $mem_org = $_POST["org"]; ?>
>
รหัสผ่านเดิม รหัสนี้สำคัญท่านต้องกรอกรหัสเดิมให้ถูกต้อง (Required)
รหัสผ่านที่ต้องการ ถ้าไม่เปลี่ยนรหัสก็ไม่ต้องกรอก (Option)
ยืนยันรหัสผ่านอีกครั้ง ถ้าไม่เปลี่ยนรหัสก็ไม่ต้องกรอก (Option)
ชื่อ-สกุลภาษาไทย (เช่น สมคิด เกาะคา)
e-mail (เช่น webmaster@thaiall.com)
ชื่อ สถาบันการศึกษา หรือองค์การ
2) { $passwd = trim(crypt($_POST['p1'],$nutforcrypt)); } for ($i=0;$iแก้ไขข้อมูลสมาชิก : completely"; footer(); } } else { echo "
ยังไม่มีการปรับปรุงข้อมูล : not update anything
"; echo "เป็นไปได้ว่า รหัสผ่านเก่า ไม่ถูกต้อง
"; } } ## 13 : Edit html file 1/2 ## function edit_html1() { $found = check_password(); if ($found == 1) { $thisfile = $_POST['thisfile']; echo "

แก้ไขแฟ้ม :: $thisfile"; echo ""; echo ""; echo ""; echo "
"; echo ""; } } ## 14 : Edit html file 2/2 ## function edit_html2() { $found = check_password(); if ($found == 1) { $file = fopen($_POST['thisfile'],"w"); fputs ($file,stripslashes($_POST['txt'])); fclose($file); } filelisting(); } ## 71 : Create Folder ## function create_folder() { global $scriptname; $found_folder = 0; $chkfolder = split('[ /,]',$_POST['folder']); if (count($chkfolder)> 1) $found_folder = 1; $dir_handle=opendir("./".$_SESSION['luser']); while ($file = readdir($dir_handle)) { if ($file != "." && $file != ".." && $file != $scriptname && $file != "index.html" && strlen($_POST['folder'])> 0) { if (strtolower($_POST['folder']) == strtolower($file)) $found_folder = 1; } } closedir($dir_handle); if ($found_folder == 0 && strlen($_POST['folder'])> 0) { mkdir($_SESSION['luser']."/".$_POST['folder'],0777); filelisting(); } else { echo "

มี Folder หรือ File นี้แล้ว
หรือ ชื่อ Folder ไม่ถูกต้อง
จึงสร้าง Folder นี้ไม่ได้
"; } } ## 81 : folder listing ## function folder_listing() { global $user_file,$create_user,$admin_password,$folder_listing_lock; if ($folder_listing_lock == "1") { if (!isset($_SESSION['admin_password_login']) || $_SESSION['admin_password_login'] != $admin_password) { echo "
Admin Password :
"; exit; } else { echo "
Sign Out :
"; } } if (!file_exists($user_file) || $create_user == "0" || (isset($_SESSION['admin_password_login']) && $_SESSION['admin_password_login'] == $admin_password)) { $dir_handle=opendir("."); echo "
    "; while ($file = readdir($dir_handle)) { if ($file != "." && $file != "..") { $filetype = filetype($file); if ($filetype == "dir") $flist = "Dir :"; else $flist = "File :"; echo "
  1. $flist $file"; } } echo "
"; closedir($dir_handle); } else { echo "
ตัวแปร \$create_user ต้องเท่ากับ '0' จึงจะมีสิทธิ์ดูรายชื่อ folder ได้ครับ
"; } } ## 82 : delete user account ## function delete_user() { global $nutforcrypt,$admin_password,$user_file,$tb_delete; $ap = crypt($_POST['admin_password'],$nutforcrypt); if ($_SESSION['securekey'] == $_POST["secure"] && $ap == $admin_password) { $ar = file($user_file); $found = 0; for ($i=0;$iDelete in ".$user_file." : complete
"; } else { fputs($file, $ar[$i]); } } fclose($file); $dir = "./" . $_POST['luser']; $dir_handle=opendir($dir); $retVal[] = ""; $retVald[] = ""; while ($file = readdir($dir_handle)) { if ($file != "." && $file != "..") { $filetype = filetype("$dir/$file"); $retVal[count($retVal)] = $file; if ($filetype == "dir") $retVald[count($retVal)] = $file; } } closedir($dir_handle); # ลบแฟ้มใน Sub while (list($key, $list) = each($retVald)) { if ($list != "." && $list != ".." && strlen($list)> 0) { $retVals[] = ""; if ($dir_handles=opendir("$dir/$list")) { while ($file = readdir($dir_handles)) { if ($file != "." && $file != "..") unlink("$dir/$list/$file"); } closedir($dir_handles); rmdir("$dir/$list"); } } } # ลบแฟ้มใน Root while (list($key, $list) = each($retVal)) { if ($list != "." && $list != ".." && strlen($list)> 0 && file_exists("$dir/$list")) { $filetype = filetype("$dir/$list"); if ($filetype == "dir") rmdir("$dir/$list"); else unlink("$dir/$list"); } } rmdir($_POST['luser']); } echo $tb_delete; } else { echo "
อาจเพราะ \$admin_password หรือ Secure Code หรือ รหัสสมาชิก
อย่างใด อย่างหนึ่ง ไม่ถูกต้อง
" . $tb_delete; $_SESSION['securekey'] = 0; } } ## 83 : create admin_password for $admin_password ## function create_admin_password() { global $nutforcrypt,$admin_password; $x = trim(crypt($_POST['adminpassword'],$nutforcrypt)); if ($x == $admin_password) { echo "
Admin Password : Verified
"; $_SESSION['admin_password_login'] = $x; echo ""; footer(); } else { $_SESSION['admin_password_login'] = $x; echo "
". $_SESSION['admin_password_login']; echo '
นำรหัสที่ถูกแปลงนี้ ไปกำหนดให้ $admin_password ได้
'; footer(); } } ## 84 : view source of filemanager.php ## # ยกเลิกชื่อ filemanager.php เป็น index.php เมื่อ 2549-03-26 function view_source() { global $scriptname; echo "
เพียงแต่คัดลอกโปรแกรมนี้ไปไว้ใน Web Server ของท่าน ก็สามารถเปิดบริการ Free Web Hosting ได้แล้ว
โปรแกรมนี้ใช้ Text File เก็บข้อมูล และทดสอบเปิดบริการใน se-ed.net ยังใช้ได้เลยครับ
"; echo ""; echo "
ใช้ Mouse Click ในกรอบที่มี Source Code แล้วกด CTRL-A บนแป้นพิมพ์ แล้วกดปุ่ม CTRL-C
ไปเปิด Notepad แล้วกดปุ่ม CTRL-V หลังแก้ไขค่าต่าง ๆ ให้ Save As เป็น $scriptname"; echo '
เมื่อได้โปรแกรมไป ควรแก้ตัวแปร $web_url ในแฟ้ม $scriptname เป็นชื่อเว็บไซต์ของท่าน
เพียงเท่านี้ก็เปิดบริการ Free Web Hosting อย่างง่าย ๆ ถ้าเครื่องท่านเป็น Web server และบริการ PHP'; echo "
"; } ## 90 : function : write image ## function write_secret_image() { header("Content-type: image/png"); $string = $_SESSION['securekey']; // 6 Numbers $width = 70; $height = 15; $im = @imagecreate ($width,$height); $text_color = imagecolorallocate ($im, 255, 255, 255); $text_color2 = imagecolorallocate ($im, 200, 0, 0); $l = ImageColorAllocate($im, 200, 100, 100); $red = ImageColorAllocate($im, 255, 0, 0); imagefill($im, 0, 0, $red); $col = (rand() % 10) + 3; $font = (rand() % 2) + 4; imagestring ($im, $font, $col + 1, 1, $string, $text_color2); imagestring ($im, $font, $col, 0, $string, $text_color); imageinterlace($im, 1); imageline($im, 2, 4, 65, 4, $l); imageline($im, 2, 11, 65, 11, $l); imagepng ($im); imagedestroy($im); exit; } ## 91 : function : Get user web space ## function space_used() { $total = 0; $dir = "./" . $_SESSION['luser']; $dir_handle=opendir($dir); while ($file = readdir($dir_handle)) { if ($file != "." && $file != "..") { $filesize = filesize("$dir/$file"); $total = $total + $filesize; } } closedir($dir_handle); return $total; } ## 92 : function : Check password and get user information ## function check_password() { global $user_file,$mem_type,$mem_namesurn,$mem_email,$mem_org; $found = 0; if ($_POST['action'] <> "เข้าใช้บริการ") { if (isset($_POST['luser'])) $_SESSION['luser'] = $_POST['luser']; if (isset($_POST['lpassword'])) $_SESSION['lpassword'] = $_POST['lpassword']; } if (!isset($_SESSION['luser'])) { $_SESSION['luser'] =""; } else { $ar = file($user_file); for ($i=0;$i"; echo ""; echo '
' . "\n"; echo ''; echo ''; echo ''; echo ''; echo ''; echo "
ส่งแฟ้มเข้า Server
พร้อมกันได้ครั้งละ 12 แฟ้ม
'; echo '

กรอกเลขความปลอดภัย
'; $i = 0; $total = 0; $dir = "./" . $_SESSION['luser']; $dir_handle=opendir($dir); $retVal[] = ""; while ($file = readdir($dir_handle)) { if ($file != "." && $file != "..") { $filetype = filetype("$dir/$file"); if ($filetype == "file") { $retVal[count($retVal)] = "$dir/$file"; } else { $retVal[count($retVal)] = "$dir/$file"; $dir_handles=opendir("$dir/$file"); while ($filesub = readdir($dir_handles)) { if ($filesub != "." && $filesub != "..") { $retVal[count($retVal)] = "$dir/$file/$filesub"; } } closedir($dir_handles); } } } closedir($dir_handle); sort($retVal); echo "
"; sort($retVal); echo '
1:
2:
3:
4:
5:
6:
6:
7:
8:
9:
11:
12:
นามสกุลของแฟ้มที่อนุญาต คือ $allow_extension และขนาดแฟ้มต้องไม่เกิน $max_file_size Byte
"; echo ""; echo ""; echo "
สร้าง Folder ใน ./".$_SESSION['luser']." / ให้กรอกเฉพาะชื่อ Folder เช่น img หรือ images เป็นต้น
"; echo ""; echo ""; while (list($key, $list) = each($retVal)) { if ($list != "." && $list != ".." && strlen($list)> 0) { $i = $i + 1; $filesize = filesize("$list"); $filetype = filetype("$list"); $total = $total + $filesize; echo ""; echo "\n"; } } echo ""; echo "
"; if (substr($list,-4) == ".htm" || substr($list,-5) == ".html") { echo ""; } echo "$i"; else echo "bgcolor=#ddffff>"; echo "$list "; echo ""; if ($list == "lastlog.log") { echo "(แฟ้มนี้ระบบสร้างเพื่อเก็บประวัติการเข้าใช้)"; } echo ""; echo date("F d, Y H:i:s",filectime("$list")); echo ""; if ($filetype == "file") { echo "$filesize Byte"; } else { if ($filetype == "dir") echo "Folder"; } echo "
"; echo "
ขณะนี้ใช้พื้นที่เก็บข้อมูลไป$total Byte
เหลือพื้นที่"; echo $max_webspace[$mem_type] - $total; echo " Byte
ระบบเตรียมพื้นที่ให้$max_webspace[$mem_type] Byte
"; echo "
"; } else { // check $found $_SESSION['luser'] = "ยังไม่มี"; echo "
รหัสผู้ใช้ หรือรหัสผ่าน ไม่ถูกต้อง
$login_page
BACK
"; } } ## 94 : function : Upload file sub ## function upload_file_sub($up) { global $max_webspace,$mem_type,$allow_extension,$max_file_size,$vip_user,$msg; $found = check_password(); if ($_SESSION['securekey'] == $_POST["secure"]) { # check extension of file $ar_last_ext = explode(".",$_FILES['upload'.$up]['name']); $last_ext = $ar_last_ext[count($ar_last_ext) - 1]; $ar = explode(",",$allow_extension); $found_ext = 0; for ($i=0;$i 0 && $size < $max_file_size && $size < $rest) { $name = $_FILES['upload'.$up]['name']; // $copypath = $_SESSION['luser']; $copypath = $_POST['folder']; copy($_FILES['upload'.$up]['tmp_name'],"$copypath/$name"); $msg = $msg . "
แฟ้ม " . $_FILES['upload'.$up]['name'] . " : Completely
"; } else { $msg = $msg . "
แฟ้ม " . $_FILES['upload'.$up]['name'] . " : ขนาดแฟ้มมีปัญหา หรือพื้นที่ไม่พอ ขนาดแฟ้ม $size byte เหลือ $rest byte
"; } } else { $msg = $msg . "
แฟ้ม " . $_FILES['upload'.$up]['name'] . " : สกุลของแฟ้มนี้ ไม่ถูกอนุญาต
"; } } } ## 98 : FAQs ## # เคยไม่กำหนดอะไร ก็เข้า FAQs แล้ว ด้วย if (!isset($_GET['action']) && !isset($_POST['action'])) { # function faqs() { global $tb_delete,$user_file,$scriptname; print "
FAQs : Frequently Asked Questions
คำถามที่ถูกถามบ่อย
1. แนะนำบริการ ของเพื่อนร่วมอุดมการณ์ (Free Web Hosting)
2. ใครมีสิทธิ์ใช้บริการ บริการอะไร และใครมีสิทธิ์ถูกลบจากระบบ
3. เปลี่ยนระดับสิทธิ์ของผู้ใช้จาก Standard เป็นระดับสูงขึ้นอย่างไร
97. รายชื่อ folder ใน current directory
98. ผู้ดูแลที่ได้โปรแกรมนี้ไปใช้ จะลบผู้ใช้ในระบบตนได้อย่างไร
99. วิธีสร้างรหัส ของ admin เพื่อนำไปแก้ Code

1. แนะนำบริการ ของเพื่อนร่วมอุดมการณ์ (Free Web Hosting)
    1.1 แนะนำ free Web Hosting มืออาชีพ ที่ยังเปิดให้บริการอยู่
      1.1.1 http://www.thcity.com :: ของชาวพิษณุโลก บริการได้ดีมาก บริการ php 1.1.2 http://www.se-ed.net :: ของสำนักพิมพ์ se-ed บริการ e-mail แบบ pop3 และ free Web Hosting และ php และ ftp 1.1.3 http://www.geocities.com :: น่าเชื่อถือ แต่ช้าหน่อย เพราะอยู่ต่างประเทศ และต้องใช้ File Manager 1.1.4 http://www.7host.com :: สมัครง่ายไม่ต้องรอการยืนยัน และใช้ ASP ได้ (ติดต่อ MDB ได้) 1.1.5 http://www.1asphost.com :: สมัครง่ายไม่ต้องรอการยืนยัน และใช้ ASP ได้ (แปลกครับ ติดต่อ mdb ไม่ได้) 1.1.6 http://www.thai.net :: ปิดรับสมาชิกเมื่อ 26 มกราคม 2549
    1.2 เหตุที่เว็บนี้ หรือเว็บโฮสติ้งต่าง ๆ ต้องจำกัดบริการ
      1.2.1 ไม่สามารถรองรับ Data transfer หรือ Bandwidth ที่มีปริมาณสูงมาก เพราะรายรับไม่สูงตามปริมาณสมาชิก 1.2.2 ไม่สามารถให้ web space ได้มาก ถ้าอนุญาตให้ใช้พื้นที่มาก ๆ จำนวนสมาชิกก็จะต้องน้อยลง เพราะกำแพงเรื่องขนาด Harddisk ไม่สูง 1.2.3 เครื่องคอมพิวเตอร์ที่ใช้มีความเร็วไม่สูง เพราะไม่ใช่มืออาชีพ และไม่สามารถลงทุนให้ทันกับเทคโนโลยีที่เปลี่ยนทุกเดือน 1.2.4 ทั้งหมดทำเป็นกรณีศึกษา ให้เยาวชนไทยศึกษา หรือภาคธุรกิจ นำไปพัฒนาจนเปิด free Web Hosting

2. ใครมีสิทธิ์ใช้บริการ บริการอะไร และใครมีสิทธิ์ถูกลบจากระบบ
    2.1 Server ตัวนี้ให้บริการ แก่ใครบ้าง และอย่างไร 2.1.1 ชาวลำปาง ที่เป็น นักเรียน นักศึกษา ภาคธุรกิจ นักวิชาการ ข้าราชการ และทุกคน ที่ต้องการพื้นที่พัฒนาเว็บในเชิงสร้างสรรค์ 2.1.2 บริการที่เพิ่มขึ้น มีให้กับผู้ที่ต้องการใช้บริการจริงจัง ด้วยการโทรมาคุย เช่น ชื่อที่สั้นขึ้นโดยไม่มีคำว่า home เช่น http://www.weblampang.com/burin02 2.1.3 บริการ php, asp, perl, ftp เปิดให้ชาวลำปาง มีสามารถอ้างอิงที่อยู่ เบอร์โทรศัพท์ และรักการพัฒนาเชิงสร้างสรรค์ เพราะอาจทำให้ server ล่มได้โดยง่าย 2.1.4 ผู้ใช้บริการ จะต้อง backup ข้อมูลของตนเองไว้อย่างดีที่บ้าน และต้องไม่ส่งข้อมูลสำคัญเข้า server เพราะข้อมูลอาจหาย หรือถูก hack ไปได้ในอนาคต 2.2 Account ที่อาจถูกลบ 2.2.1 ไม่มีข้อมูล หรือข้อมูลไม่สมบูรณ์ เช่น ทำเว็บไม่เสร็จ และไม่เข้ามาพัฒนาต่อเป็นเวลานาน เป็นต้น 2.2.2 ห้ามขายยาลดความอ้วน หรือบริการใด ๆ แบบ work at home หรือชวนทำงานที่บ้าน 2.2.3 ห้ามเก็บภาพผิดกฏหมาย หรือล่อแหลม หรือ MP3 หรือ Hack software เป็นต้น 2.2.4 มีปริมาณการเข้าใช้บริการมากผิดปกติ 2.2.5 ตามที่ทีมงานเห็นสมควร
3. เปลี่ยนระดับสิทธิ์ของผู้ใช้จาก Standard เป็นระดับสูงขึ้นอย่างไร
โปรแกรมเตรียมระดับผู้ใช้ไว้ 4 ระดับ คือ Standard:0, Silver:1, Gold:2 หรือ Diamon:3
ผู้เขียนยังไม่เขียนโปรแกรมปรับปรุงส่วนนี้ให้สะดวก การเปลี่ยนสิทธิ์ต้องใช้ notepad หรือ vi เปิดแฟ้ม $user_file มาแก้เลข 0 เป็นเลข 1 ถึง 3 ตามต้องการ สำหรับค่าสถานะคือเลขที่อยู่ข้างหน้าชื่อในแฟ้ม $user_file นั่นเอง ส่วนสถานะจะมีผลต่อการให้พื้นที่สมาชิกโดยตรง และสามารถเพิ่มลดได้ผ่านตัวแปร \$max_webspace
97. รายชื่อ folder ใน current directory
    เรียกใช้ ?action=folder_listing
    เช่น http://127.0.0.1/". $scriptname ."?action=folder_listing
    - แสดงรายชื่อ Directory ถ้าไม่มีพบแฟ้ม $user_file
    - เพิ่ม Option เพื่อแสดงรายชื่อแฟ้มใน Directory สำหรับ Web Server ที่ปิดการแสดงรายชื่อแฟ้ม
    - ถ้า Sign in เป็น Admin จะแสดงรายชื่อ Directory ได้

98. ผู้ดูแลที่ได้โปรแกรมนี้ไปใช้ จะลบผู้ใช้ในระบบตนได้อย่างไร
เพื่ออำนวยความสะดวกให้กับผู้ดูแลในการลบผู้ใช้ จึงมีบริการลบรหัสผู้ใช้ และแฟ้มทั้งหมดของผู้ใช้ ด้วยการกดปุ่มครั้งเดียว แต่ผู้ที่จะลบ จะต้องทราบรหัสผ่านของผู้ดูแล ซึ่งถูกเข้ารหัส และเก็บไว้ในตัวแปร \$admin_password หากผู้ดูแลยังไม่มีรหัสนี้ให้ดูจากข้อ 99 จึงจะมีสิทธิ์ และลบผู้ใช้ที่ต้องการได้ $tb_delete
99. วิธีสร้างรหัส ของ admin เพื่อนำไปแก้ Code
ส่วนนี้ถูกใช้โดยผู้ดูแลระบบ ที่ต้องการนำรหัส ที่ถูกเข้ารหัสแล้วไปแทนที่ในตัวแปร \$admin_password เพื่อใช้สำหรับลบสมาชิก ด้วยการกรอกรหัสผ่านใหม่ลงในช่องด้านล่าง แล้วกดปุ่ม admin_password จากนั้นก็นำรหัส 13 ตัวอักษร เช่น peKJaPFsM79Kw ไปแทนที่ในตัวแปร \$admin_password ซึ่งอยู่ในแฟ้ม ".$scriptname." และในกรณีที่ท่านลืมรหัสผ่าน ก็สามารถกำหนดใหม่ แล้วนำรหัส 13 ตัวอักษร ชุดใหม่ ไปแทนที่ในตัวแปร \$admin_password อีกครั้ง .. ถ้ารหัสที่ท่านกรอกตรงกับรหัสเดิมก็จะแสดงคำว่า Verified เพื่อให้รหัสถูกต้อง และบันทึกเข้า Session ทำให้ท่านมีสิทธิ ลบรหัสสมาชิกได้โดยง่าย
ถ้ากรอกรหัสที่ถูกต้อง แล้วกดปุ่ม admin_password เมื่อเข้าไปแสดงรายชื่อสมาชิกจะพบเครื่องหมาย # หลัง User Name ซึ่งช่วยให้เลือกลบข้อมูลสมาชิกได้ง่ายขึ้น แต่การลบก็ต้องใช้ admin_password อีกครั้ง

Use mouse click on =>

"; } ## 99 : User name writing ## function user_functions() { global $web_url; if (isset($_SESSION['luser'])) { echo '
'; echo "
"; echo "
รหัสผู้ใช้ปัจจุบัน : "; if ($_SESSION['luser'] == "ยังไม่มี") { echo $_SESSION['luser'] . ""; } else { $l = $web_url . $_SESSION['luser'] . "/"; echo "$l"; echo ""; echo ""; echo ""; } echo "
"; echo "
"; } } ## 100 : Footer Writing ## function footer() { global $title; ?>

ทีมงานผู้พัฒนาโปรแกรม 08-1992-7223