include php แบบแรนดอมไฟล์

เริ่มโดย ฉันไม่มีตัวตน, 14 ตุลาคม 2007, 14:57:08

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

ฉันไม่มีตัวตน

1.ผมจะทำหน้าเพจที่สามารถ include php แบบแรนดอมไฟล์ได้น่ะครับ(ไฟล์อยู่ในFolderเดียวกัน)..ใครพอมีแนวทางมั่งมั้ยครับ
2.แล้วถ้าไฟล์ที่จะแรนดอมมันมีหลายไฟล์จะมีผลเสียมั้ยครับ
ขอบคุณครับ :-*

ball6847

ลองใช้ scandir() ดูคับ จะรีเทิร์นเป็นรายชื่อไฟล์ทั้งหมดที่อยู่ใน โฟลเดอร์ที่ต้องการ scan คืยค่าเป้น array คับ แต่ว่ามันจะมี . กับ .. แถมมาด้วย นะคับ ให้ลบออกก็จะได้รายชื่อไฟล์ทั้งหมด หลังจากนั้นค่อยใช้ array_rand() มันจะสุ่มสมาชิกใน array ออกมา แต่จะคืนค่าเป็น key นะคับ ไม่ได้คืนค่าเป็ฯ value ดังนั้นเวลาจะเรียกใช้ ต้องเรียกแบบระบุ key คับ

ผมมั่วประมาณนี้อ่ะคับ รอเซียนเข้ามาแก้ผมอีกต่อละกัน

**ฟังก์ชั่น scandir() มีเฉพาะใน PHP5 นะคับ ถ้าใช้ PHP4 อยู่เด๋วผมจะหาดูฟังก์ชั่นนี้ในแบบของ PHP4 มาให้คับ

<?php

$dir = "include";                                         // path ของ ไดเร็คทอรี่ที่ต้องการสแกน
$entry = scandir($dir);
$entry = array_slice($entry,2,count($entry)); // ตัด . กับ .. ออกไป
$key = array_rand($entry);                          // สุ่มคีย์ไฟล์มา
$file_to_include = "include/".$entry[$key];    // path ของไฟล์ที่จะ include

include_once($file_to_include);

?>

ยังงัยลองแก้ของผมดูเอาคับ ผมก็มั่วๆ เอาเพราะไม่ได้เรียนมาอ่ะ เขียนถูกตามหลักรึปล่าวก็ไม่รู้ ยังงัยรอเซียนคับ
We use Ubuntu.

[direct=http://ng-seo.sourcelab.xyz/]AngularJS SEO Experimental[/direct]

ฉันไม่มีตัวตน

ขอบคุณครับ ได้ของคุณต่อ อีกไฟล์นึงด้วย ไปค้นกะทู้เก่าๆมา..ไปลองก่อนล่ะครับ :'(

ฉันไม่มีตัวตน

ช่วยดูทีครับตรงสีแดงผมตั้งชื่อโฟล์เดอร์ใช่มั้ยครับ แล้วต้องแก้ตรงไหนอีกหรอครับ มัน errorง่ะ..ขอบคุณครับ
<?
$path1 = 'top-adsense/';
$dir1 = opendir($path1);
while ($filename1 = readdir($dir1)){
    if ($filename1 != '.' && $filename1 != '..'){
        $count += 1;
        $filenames[$count] = $filename1;

    }
}
$articleno =mt_rand(1, $count);
$f = $path1 . $filenames[$articleno];
include $f;
?>

ball6847

อ้างถึงจาก: ninep ใน 14 ตุลาคม 2007, 16:24:31
ช่วยดูทีครับตรงสีแดงผมตั้งชื่อโฟล์เดอร์ใช่มั้ยครับ แล้วต้องแก้ตรงไหนอีกหรอครับ มัน errorง่ะ..ขอบคุณครับ
<?
$path1 = 'top-adsense/';
$dir1 = opendir($path1);
while ($filename1 = readdir($dir1)){
    if ($filename1 != '.' && $filename1 != '..'){
        $count += 1;
        $filenames[$count] = $filename1;

    }
}
$articleno =mt_rand(1, $count);
$f = $path1 . $filenames[$articleno];
include $f;
?>

รู้สึกว่า $path1 = 'top-adsense/'; จะไม่มี / นะคับ
We use Ubuntu.

[direct=http://ng-seo.sourcelab.xyz/]AngularJS SEO Experimental[/direct]

ฉันไม่มีตัวตน

#5
อ๋อโฟลเดอร์ผมชื่อนั้นน่ะครับ เลยลองเปลี่ยนดู เดิมๆมันคือ randomarticle คับ..
ผมเอาสคริปนี้มาลองใช้ดูน่ะครับ ไม่รู้ว่ามันเป็นสคริปที่ต้องใช้ในโปรแกรมที่เพื่อนๆขายกันป่าว..ถ้าใช่คงต้องหาสคริปใหม่ง่ะ

ฉันไม่มีตัวตน

ได้แล้วครับ
แต่ของคุณบอลใช้ไม่ได้นะ..^^ ไม่รู้ผมทำผิดป่าว..ขอบคุณครับ