|
|
|
ต้องการแสดงเฉพาะ Folder ที่ห้องที่เรากำหนดค่ะ ต้องเขียนยังไงคะ ย้ำเฉพาะ folder นะครับ |
|
|
|
|
|
|
|
ลองศึกษาพวก PHP: scandir
หากต้องการเฉพาะ Folder ที่กำหนดไว้ เวลา Loop ก็เปรียบเทียบเอาครับ
|
|
|
|
|
Date :
2014-08-03 16:43:38 |
By :
Krungsri |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool is_dir ( string $filename )
|
|
|
|
|
Date :
2014-08-03 17:08:46 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่ Chaidhanan เขียนยังไงอ่ะคะ แนะนำทีค่ะ
|
|
|
|
|
Date :
2014-08-04 08:22:17 |
By :
because |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5555 ครับ ให้กับ คนตอบอ่ะค่ะ เวลาพูดที่บ้านติดปากกับเด็กๆ
|
|
|
|
|
Date :
2014-08-04 12:54:52 |
By :
because |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่ 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วค่ะพี่ แต่ติดปัญหานิดนึง จาก 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พี่ 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
กรณีอ้างอิงแบบ 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาไฟล์ไปเทศและเซฟไฟล์ชื่อ test.php ค่ะ
ผลที่ได้คือ Your Current Path = /test.php
แล้วตามด้วย folder แต่ละตัว รวมห้อง menu1 ด้วย
แต่ความต้องการคือ ให้แสดง folder เฉพาะในห้อง menu1 ในเท่านั้นค่ะ
|
|
|
|
|
Date :
2014-08-05 20:11:33 |
By :
because |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|