ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: sisi ที่ 14 ตุลาคม 2007, 22:59:14



หัวข้อ: php สามารถเขียน code ค้นหาแบบนี้ได้ป่ะครับ
เริ่มหัวข้อโดย: sisi ที่ 14 ตุลาคม 2007, 22:59:14
คืออยากจะค้นหาชื่อไฟล์ใน folder อ่ะครับ โดยกำหนด ตัวแปรขึ้นมาตัวนึง ถ้าไฟล์ไหนมีชื่อคล้ายตัวแปรนี้ก็ให้ echo ออกมาครับ


ไม่รู้ว่า php ทำได้แล้วหรือมีเทคนิคที่ใกล้เคียงไหมครับ


หัวข้อ: Re: php สามารถเขียน code ค้นหาแบบนี้ได้ป่ะครับ
เริ่มหัวข้อโดย: moonoi ที่ 14 ตุลาคม 2007, 23:12:41
สดๆมั่วๆเอาครับ สมมุติให้ $dir = folder ที่ต้องการค้นหา $needle = keyword ของชื่อไฟล์
ผิดพลาดประการใดขออภัย

โค๊ด:
<?php

$dir 
'/path/to/search';
$needle '001';

$dir_rs opendir($dir);
while ((
$file readdir($dir_rs)) !== FALSE) {
if ($file == '.' || $file == '..' || is_dir($file)) continue;
elseif (strpos($file,$needle) !== FALSE$found[] = $file;
}
closedir($dir_rs);

foreach(
$found as $name) {
echo 'Found ' $name '<br />';
}

?>


หัวข้อ: Re: php สามารถเขียน code ค้นหาแบบนี้ได้ป่ะครับ
เริ่มหัวข้อโดย: ball6847 ที่ 15 ตุลาคม 2007, 00:02:50
วันนี้โจ้เค้าหายไปไหนนะ ปกติจะรีบเข้ามาตอบแล้วนะ

เป็นผมจะใช้ scandir แล้ว เช็คด้วย eregi คับ มั่วๆเอาได้ตามนี้คับ

โค๊ด:
<?php

$dir 
"directory"
$keyword "keyword"

$entry scandir($dir);
$entry array_slice($entry,2,count($entry));

foreach(
$entry as $file){
    if(
eregi($keyword,$file)){
           echo 
"$file<br />\n";
    }
}

?>

คิดว่าน่าจะได้แล้วนะ ยังไม่ได้ลองเหมือนกัน มั่วๆเอา อิอิ PHP5 นะคับ


หัวข้อ: Re: php สามารถเขียน code ค้นหาแบบนี้ได้ป่ะครับ
เริ่มหัวข้อโดย: EThaiZone ที่ 15 ตุลาคม 2007, 00:30:45
ไม่ค่อยว่างครับ อาจจะอีกหลายวันด้วย

เดียวนี้แบ่งเวลาให้ไทยเสียวน้อยลงครับ  :P

---------------------------------------

ใช้ array_search ค้นหาเอาก็ได้นะครับ สะดวกดีครับ


หัวข้อ: Re: php สามารถเขียน code ค้นหาแบบนี้ได้ป่ะครับ
เริ่มหัวข้อโดย: moonoi ที่ 15 ตุลาคม 2007, 08:16:26
array_search ไม่ได้ครับ เพราะจะเป็นการ compare แบบ ==
ใช้ strpos แบบที่บอกจะเป็นการค้นหาของ keyword ที่เป็นส่วนใดส่วนหนึ่งครับ อย่าลืมว่าต้อง compare แบบ !== นะครับ ไม่ใ่ช่ != ไม่งั้นจะมีปัญหากับ boolean


หัวข้อ: Re: php สามารถเขียน code ค้นหาแบบนี้ได้ป่ะครับ
เริ่มหัวข้อโดย: EThaiZone ที่ 15 ตุลาคม 2007, 09:36:12
 :P

array_search ได้ครับ ถ้าเขียน if ดีๆ

$color=array("green","red","orange");
$key = array_search('green', $color);
if($key !== FALSE) {
echo $color[$key];
}

อ้างอิง : http://www.thaiseoboard.com/index.php/topic,15388.0.html