Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > รบกวนสอบถามเรื่องการแยกโฟล์ดเดอร์(ไม่น่ายากแต่ก็ยากสำหรับมือใหม่สำหรับผม)



 

รบกวนสอบถามเรื่องการแยกโฟล์ดเดอร์(ไม่น่ายากแต่ก็ยากสำหรับมือใหม่สำหรับผม)

 



Topic : 109697



โพสกระทู้ ( 4 )
บทความ ( 0 )



สถานะออฟไลน์




มีปัญหาเรื่องแตกโฟล์ดเดอร์ ตอนนี้สามารถแตกได้ชั้นเดียวในไดร์ฟที่ต้องการ ซึ่งจะโชว์ทั้งเป็นไฟล์และโฟล์ดเดอร์ ปัญหาคือต้องการแตกโฟล์ดเดอร์ ไปเรื่อยๆเป็นชั้นๆ โดยการไปทริกที่ชือโฟล์เดอร์ที่โชว์ในการแตกมาก่อนหน้านั้น รบกวนผู้รู้ช่วยแนะนำด้วยครับ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-07-04 12:21:35 By : sakniti View : 716 Reply : 1
 

 

No. 1



โพสกระทู้ ( 9,554 )
บทความ ( 2 )



สถานะออฟไลน์


critical_erase.php
Code (PHP)
<?PHP
if(isset($_GET['file'])){
	echo str_replace("\n","<br />", htmlspecialchars(str_replace('><',">\n<", implode('', file($_GET['file'])))));
	exit;
}
?>
<!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>
<title> Critical Erase </title>
<meta name="generator" content="editplus" />
<meta name="author" content="Chaidhanan Pisalsenadhanachote" />
<meta http-equiv="Content-Type" content="text/html; charset=tis-620" />
<style type='text/css'>
a{color: #0000FF; text-decoration: none;}
a:visited{color: #0000FF; text-decoration: none;}
a:hover{color: #00bbbb; text-decoration: none;}
</style>
</head>
<body>
<font style="color:red;background-color:yellow;font-weight: bold"> !!!!  คำเตือน !!!! </font><br />
<font style="color:yellow;background-color: red"> การลบ Directory อาจทำให้ข้อมูลของท่าน สูญหายได้ </font><br />
<font style="color: #99FFFF;background-color: blue"> IP: <?php echo $_SERVER['REMOTE_ADDR'];?> </font><br />
<br />
<?php
$trusIP=array('/^127.0.0.1/'); // เพื่ม ip ที่ใช้ทำงานเข้าไปได้เรื่อย
if(preg_match( $trusIP, $_SERVER['REMOTE_ADDR'])){
	function erase_dir($dir) {
		foreach (glob($dir.'/*') as $filename) {
//---------------------------------------------------------------------------------------------//
//____________________ IMPORTANT MESSAGE__________________ //
//__________________________________________________________//

// critical_erase.php เป็นชื่อไฟล์นี้ มีความสำคัญ                                           
// ถ้าเปลียนชื่อไฟล ช่วยเปลี่ยนชื่อที่ข้างล่างนี้ด้วย ไม่อย่างนั้น ไฟล์นี้อาจจะหายไปด้วยก็ได้ 5555
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
			if(!preg_match('/critical_erase.php/', $filename)){ 
				chmod($filename, 0777);
				if(is_dir($filename)) { erase_dir($filename); echo "Erase Dir $filename<br />"; rmdir($filename); }
				else { echo "Erase File $filename<br />"; unlink($filename); }
			}
		}
	}
	if(isset($_POST['action']) && isset($_POST['url']) && isset($_POST['parent'])){
		$c_url=count($_POST['url']);
		for($ii=0; $ii<$c_url; $ii++) {
			$z=$_POST['url'][$ii]; chmod($z, 0777);
			if(is_dir($z)) { erase_dir($z); echo "Erase Dir $z<br />"; rmdir($z); }
			else { echo "Erase File $z<br />"; unlink($z); }
		}
	}
	///////////////////////////////////////////////////////////
	$parent=isset($_GET['parent'])? $_GET['parent'] : (isset($_POST['parent'])? $_POST['parent'] :'.');
	$c_d=0; $c_f=0; $d=array(); $f=array();
	foreach (glob($parent.'/*') as $filename) {
		if(is_dir($filename)){ $d[$c_d]=$filename; $c_d++; }
		else { $f[$c_f]=$filename; $c_f++; }
	}
	?>
	<form method="post" action="">
	<input type="hidden" name="parent" value="<? echo "$parent";?>"/>
	<?
	echo '<a href="?parent=.">hk_log</a><br />'; $y='';
	if($parent>'.'){
		$a=explode('/', $parent); $c_a=count($a); //unset($a[$c_a]); $z=implode('/', $a);
		$z=$a[0]; $y='&nbsp;&nbsp;';
		for($ii=1; $ii<$c_a; $ii++) {
			$z.='/'.$a[$ii];
			echo $y.'<a href="?parent='.$z.'">'.$a[$ii].'</a><br />';
			$y.='&nbsp;&nbsp;';
		}
	}
	for($ii=0; $ii<$c_d; $ii++){
		$a=explode('/', $d[$ii]); $c_a=count($a)-1;
		echo $y.'<input type="checkbox" name="url[]" value="'.$d[$ii].'" /><a href="?parent='.$d[$ii].'">['.$a[$c_a].']</a><br />';
	}
	for($ii=0; $ii<$c_f; $ii++){
		$a=explode('/', $f[$ii]); $c_a=count($a)-1;
		echo $y.'<input type="checkbox" name="url[]" value="'.$f[$ii].'" /><a href="?file='.$f[$ii].'" target="_blank">'.$a[$c_a].'</a><br />';
	}
}else{
	echo 'There is not trustee for U.';
}
?>
<br />
<input type="submit"  name="action" value="Erase"/>
</form>
</body>
</html>


โค๊ดนี้เขียนขึ้นมา หลายปีแล้วครับ โปรดใช้ด้วยความระมัดระวังนะครับ
ผมเอาไว้ใช้ลบ directory หรือ file ที่สร้างด้วย user nobody บน linux นะครับ
จะลบไฟล์ได้เฉพาะ ภายใน ไดเรคทอรี่ ที่สร้างขึ้น






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-04 12:57:16 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนสอบถามเรื่องการแยกโฟล์ดเดอร์(ไม่น่ายากแต่ก็ยากสำหรับมือใหม่สำหรับผม)
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่