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,037

HOME > PHP > PHP Forum > ต้องการแสดงเฉพาะ Folder ที่ห้องที่เรากำหนดค่ะ ต้องเขียนยังไงคะ ย้ำเฉพาะ folder นะครับ



 

ต้องการแสดงเฉพาะ Folder ที่ห้องที่เรากำหนดค่ะ ต้องเขียนยังไงคะ ย้ำเฉพาะ folder นะครับ

 



Topic : 110387



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



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




จาก code ก่อนหน้านี้ที่เอามาจากที่นี่ค่ะ

Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & opendir()</title>
</head>
<body>
<?
$objOpen = opendir("menu1");
while (($file = readdir($objOpen)) !== false)
{
	if (($file == ".") or ($file == "..")) continue;
	echo "filename: " . $file . "<br />";
}
?>
</body>
</html>


มันแสดงชื่อไฟล์ รวม folder ทั้งหมดเลยค่ะ
ความต้องการ เอาแค่ Folder เท่านั้นค่ะที่แสดง

เช่น ห้องหลัก menu1 ภายในห้องจะมี folder ย่อย เช่น 1 , 2 , 3 และไฟล์ abc.php , 123.php
ต้องการแสดงแค่ folder 1 , 2 , 3 เท่านั้น

บกวนทีนะคะ

ขอบคุณค่ะ



Tag : PHP, HTML/CSS, JavaScript







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-08-03 11:16:03 By : because View : 3060 Reply : 16
 

 

No. 1



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

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

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

ลองศึกษาพวก PHP: scandir
หากต้องการเฉพาะ Folder ที่กำหนดไว้ เวลา Loop ก็เปรียบเทียบเอาครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-03 16:43:38 By : Krungsri
 


 

No. 2



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



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


bool is_dir ( string $filename )
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-03 17:08:46 By : Chaidhanan
 

 

No. 3



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



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


พี่ Chaidhanan เขียนยังไงอ่ะคะ แนะนำทีค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-04 08:22:17 By : because
 


 

No. 4



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



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


Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & opendir()</title>
</head>
<body>
<?
$objOpen = opendir("menu1");
while (($file = readdir($objOpen)) !== false)
{
	if (($file == ".") or ($file == "..")) continue;
	echo is_dir($file)? "Directory" : "filename", " : " ,  $file ,  "<br />";
}
?>
</body>
</html>



อ้อว่าจะถามแล้วลืม
" ต้องเขียนยังไงคะ ย้ำเฉพาะ folder นะครับ "
ผู้ชายหรือผู้หญิง 5555555


ประวัติการแก้ไข
2014-08-04 11:15:32
2014-08-04 11:19:56
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-04 11:13:12 By : Chaidhanan
 


 

No. 5



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



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


5555 ครับ ให้กับ คนตอบอ่ะค่ะ เวลาพูดที่บ้านติดปากกับเด็กๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-04 12:54:52 By : because
 


 

No. 6



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



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


พี่ Chaidhanan คะ
ทำตาม code ที่ให้มาแล้ว มันขึ้น

file...
file...
file...
file...
file...
file...
file...
v
v
v
v
v
v
file...
file...

ไม่สิ้นสุดเลยค่ะ

คือใน menu1 จะมีห้องย่อยคือ 1 , 2 , 3 และไฟล์ abc.html , test.php

ต้องการให้ให้แสดงแค่ชือ่ห้อง 1 , 2 , 3 เท่านั้นค่ะ
แต่นี่ไม่ขึ้นเลย

รบกวนทีนะคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-04 13:53:43 By : because
 


 

No. 7



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



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


Code (PHP)
<?php
$dir    = '/var/www';  // กำหนดชื่อไดเร็คทอรี่ตรงบรรทัดนี้ครับ
$files1 = scandir($dir);

foreach($files1 as $file){
	if(is_dir($file))
		echo "Directory[$file]<br />\n";
}
?>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-04 19:21:47 By : cowboycnx
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : because เมื่อวันที่ 2014-08-04 13:53:43
รายละเอียดของการตอบ ::
เอผมก็ รันได้ปกติอะครับ


Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & opendir()</title>
</head>
<body>
<?php
$objOpen = opendir(".");
while (($file = readdir($objOpen)) !== false)
{
	if (($file == ".") or ($file == "..")) continue;
	echo is_dir($file)? "Directory" : "filename", " : " ,  $file ,  "<br />";
}
?>
</body>
</html>

test readdir


ปล. ผมยกตัวอย่างให้อะครับ เพื่อเอาไปปรับใช้เองอะครับ
echo is_dir($file)? "Directory" : "filename", " : " , $file , "<br />";
แก้เป็น
if( is_dir($file) ) echo "Directory", ' : ' , $file , '<br />';


ประวัติการแก้ไข
2014-08-04 20:27:56
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-04 20:18:12 By : Chaidhanan
 


 

No. 9



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



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


ได้แล้วค่ะพี่ แต่ติดปัญหานิดนึง จาก Code

[font=Verdana]ไฟล์ test.php[/font]

Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & opendir()</title>
</head>
<body>
<?php
$objOpen = opendir(".");
while (($file = readdir($objOpen)) !== false)
{
if( is_dir($file) ) echo "Directory", ' : ' , $file , '<br />';
}
?>
</body>
</html>


1. เวลารันออกมาแล้วจะขึ้น

Directory : ..
Directory : .
Directory : 1
Directory : 2

***** มันมี . และ .. มาด้วย เอาออกยังไงคะ

2. ไฟล์ test.php ตอนที่รันต้องอยู่ใน directory นั้น ถึงจะแสดง folder ข้างในให้เห็น
แต่ถ้าอยู่นอกห้อง แล้วรัน มันจะขึ้นแค่

Directory : ..
Directory : .

ลองแก้ตรง
Code (PHP)
$objOpen = opendir(".");


เป็น

Code (PHP)
$objOpen = opendir("menu");


ก็เหมือนเดิมค่ะ ลองใส่ root directory ของ host ก็เป็นเหมือนกัน

ต้องแก้ทั้งสองข้อยังไงคะ

อิอิ รบกวนอีกทีนะคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-05 07:05:58 By : because
 


 

No. 10



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



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


Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & opendir()</title>
</head>
<body>
<?php
$objOpen = opendir("."); //  เปลี่ยน ชื่อ path บันทัดนี้ครับ และกำหนดให้ถูก format การอ้าง path ด้วยนะครับ
while (($file = readdir($objOpen)) !== false)
{
	if (($file == ".") or ($file == "..")) continue; // บันทัดนี้เอาออก ทำไมล่ะครับ บันทัดนี้เป็นตัวเช็ค .  .. (จุด  จุดๆ)
	echo is_dir($file)? "Directory" : "filename", " : " ,  $file ,  "<br />";
}
?>
</body>
</html>


หรือ อยากลองใช้อันล่างดูก็ได้ครับ
Code (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>
<title> Show Directory </title>
<meta name="author" content="Chaidhanan Pisalsenadhanachote" />
</head>
<body>
<?php
///////////////////////////////////////////////////////////
//  สามารถส่ง parameter กำหนด path เริ่มต้น ได้   bly.php?path=../../
$parent=isset($_GET['path'])? $_GET['path'] : '.';
///////////////////////////////////////////////////////////
$d=array(); $f=array();
foreach (glob($parent.'/*') as $filename) {
	if(is_dir($filename)) $d[]=$filename; 
	else $f[]=$filename; 
}
$c_d=count($d);
for($ii=0; $ii<$c_d; $ii++){
	$a=explode('/', $d[$ii]); $c_a=count($a)-1; echo $a[$c_a],'<br />';
}
/*
for($ii=0; $ii<$c_f; $ii++){
	$a=explode('/', $f[$ii]); $c_a=count($a)-1; echo $a[$c_a].'<br />';
}
//// */
?>
<br />
</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-05 07:42:25 By : Chaidhanan
 


 

No. 11



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



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


พี่ Chaidhanan คะ
ขอรบกวนอีกทีนะคะ

ไฟล์ test.php

Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & opendir()</title>
</head>
<body>
<?php
$objOpen = opendir("."); //  เปลี่ยน ชื่อ path บันทัดนี้ครับ และกำหนดให้ถูก format การอ้าง path ด้วยนะครับ
while (($file = readdir($objOpen)) !== false)
{
	if (($file == ".") or ($file == "..")) continue; // บันทัดนี้เอาออก ทำไมล่ะครับ บันทัดนี้เป็นตัวเช็ค .  .. (จุด  จุดๆ)
	echo is_dir($file)? "Directory" : "filename", " : " ,  $file ,  "<br />";
}
?>
</body>


ตรง

Code (PHP)
$objOpen = opendir(".");


ถ้าไฟล์ test.php ถ้าอยู่นอกห้อง menu และแก้เป็น

$objOpen = opendir("menu");

หรือ

$objOpen = opendir("root/htdoc/public_html/menu/");

มันก็ไม่ขึ้นไรเลยค่ะ

ไม่ทราบว่าต้องตั้งค่ายังไงคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-05 11:04:19 By : because
 


 

No. 12



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



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


กรณีอ้างอิงแบบ relative มันต้อง อ้างอิงจาก path ที่ file test,php อยู่ครับ
test.php อยู่ใน /root/myphp/mytest/test.php
และpath ที่ต้องการอยู่ที่ /root/myphp/mypath/wantpath

ก็ต้องอ้างอิงแบบ relative แบบนี้ครับ $objOpen='../../mypath/wantpath';


หรือจะอ้างแบบ direct ก็ต้องเริ่ม จาก "/root/mypath/wantpath"
หรือ "d:/inetpub/www/myphp/mypath/wantpath" ครับ

ต้องศึกษาในส่วนของ การอ้างอิง path ในส่วนของ relative และ direct เพื่อเติมนะครับ

ป.ล.
$objOpen = opendir("root/htdoc/public_html/menu/");
แก้เป็น
$objOpen = opendir("/root/htdoc/public_html/menu/");


ประวัติการแก้ไข
2014-08-05 11:27:24
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-05 11:25:26 By : Chaidhanan
 


 

No. 13



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



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


ตอบความคิดเห็นที่ : 12 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-08-05 11:25:26
รายละเอียดของการตอบ ::
พี่คะ (รบกวนอีกแล้ว!!) แก้ตามนี้แล้ว

$objOpen = opendir("/domains/domain.com/public_html/admin/menu/");

*** ไม่แสดงผลไรเลยค่ะพี่


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-05 12:36:32 By : because
 


 

No. 14



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



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


test อันนี้หน่อยครับ
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & opendir()</title>
</head>
<body>
<?php
$url=$_SERVER['REQUEST_URI'];
echo "Your Current Path = $url;<br/>";
$objOpen = opendir(".");
while (($file = readdir($objOpen)) !== false){
	if (($file == ".") or ($file == "..")) continue;
	if( is_dir($file) ) echo "Directory" , " : " , $file , "<br />";
}
?>
</body>
</html>


เอาผลที่ได้ ที่มี ข้อความ Your current path = ??? มาดูหน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-05 13:45:24 By : Chaidhanan
 


 

No. 15



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



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


เอาไฟล์ไปเทศและเซฟไฟล์ชื่อ test.php ค่ะ

ผลที่ได้คือ Your Current Path = /test.php
แล้วตามด้วย folder แต่ละตัว รวมห้อง menu1 ด้วย

แต่ความต้องการคือ ให้แสดง folder เฉพาะในห้อง menu1 ในเท่านั้นค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-05 20:11:33 By : because
 


 

No. 16



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



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


Code (ASP)
<html>
<head>
<title>ThaiCreate.Com PHP & opendir()</title>
</head>
<body>
<?php
//$url=$_SERVER['REQUEST_URI'];
//echo "Your Current Path = $url;<br/>";
$objOpen = opendir("/menu1");
while (($file = readdir($objOpen)) !== false){
	if (($file == ".") or ($file == "..")) continue;
	if( is_dir($file) ) echo "Directory" , " : " , $file , "<br />";
}
?>
</body>
</html>

งั้นตามข้างบนนีัควรจะแสดง folder ใน menu1 ได้แล้วล่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-08-05 21:50:16 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ต้องการแสดงเฉพาะ Folder ที่ห้องที่เรากำหนดค่ะ ต้องเขียนยังไงคะ ย้ำเฉพาะ folder นะครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 02
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 อัตราราคา คลิกที่นี่