เป็นสคริบดึงชื่อไฟล์ , metakeyword, metadescription ถ้าเราให้ดึงไฟล์ที่อยู่ใน directory เดียวกันก็จะใช้ได้ แต่ถ้าผมจะให้ดึงมาจาก directory อื่น หรือจากเว็บอื่น ต้องแก้ตรงไหนมั่งครับ ขอบคุณครับ :)
<?php
$dir = opendir("./articles/");
$files = array();
while (($file = readdir($dir)) !== false) {
if (!in_array($file, $exclude) && preg_match('/^(.+)\.html$/', $file, $match)) {
$files[] = $file;
}
}
closedir($dir);
shuffle($files);
for ($i = 0, $count = count($files); $i < 4 && $i < count($files); ++$i) {
$file = $files[$i];
$nicename = preg_replace('/(?<=.)([-])/', ' ', substr($file, 0, -4));
$nicename = ucwords($nicename);
$tags = get_meta_tags($file);
echo '<p><a href=" ', $file, ' "><b>', $nicename, '</b></a><br />';
echo substr($tags['description'], 0, mt_rand(40, 120)) . '...<br />';
echo '</p>';
}
?>
ถ้าเรียกจาก $file คือในกรณีที่อยู่ dir เดียวกัน แต่ถ้า $file อยู่คนละ dir เราควรเขียนยังงัยครับ ???
ถ้าจะดึงผ่าน เวบอื่นแบบเปิด Dir ต้องต่อแบบ FTP เข้าไปครับ
<?php
$ftp_host = "ftphost";
$ftp_user = "user";
$ftp_password = "pass";
$ftp_dir = "";
//Connect
echo "<br />Connecting to $ftp_host via FTP...";
$conn = ftp_connect($ftp_host);
$login = ftp_login($conn, $ftp_user, $ftp_password);
//
//Enable PASV ( Note: must be done after ftp_login() )
//
$mode = ftp_pasv($conn, TRUE);
//Login OK ?
if ((!$conn) || (!$login) || (!$mode)) {
die("FTP connection has failed !");
}
echo "<br />Login Ok.<br />";
//
//Now run ftp_nlist()
//
$file_list = ftp_nlist($conn, $ftp_dir);
foreach ($file_list as $file)
{
echo "<br>$file";
}
//close
ftp_close($conn);
?>
http://th.php.net/ftp
ขอบคุณครับ คุณ tee++ เออ... :( แต่ผมคงต้องแก้เพียบเลยใช่ปะครับ :-X
งั้นผมเอาแบบแค่ดึงจาก dir อื่นแต่เว้บเดียวกันนี้ ต้องแก้ยังงัยอะครับ
อ้อ ถ้าแบบนั้นก็เปิดตรงๆ ได้เลย
opendir('httpdocs/subdomains/blablabla')
ผมมาได้ครึ่งทางและ เจอ error แบบเนี้ย อะครับ เราจะแก้ยังงัย :-[
Warning: get_meta_tags(Image-It.html) [function.get-meta-tags]: failed to open stream: No such file or directory in /home/linkmemo/public_html/domain.com/includes/mainlist4.php on line 16
ทุกอย่างมาหมดแล้วครับเหลือแต่ ฟังก์ชั่น get_meta_tags มันไม่สามารถดึง $fire ได้เพราะมันอยู่ใน articles/Image-It.html แต่อันนี้มันดึงตรงๆเลยคือ Image-It.html ก็เลยหาไม่เจอ ???
นั้นก็ไล่ path ให้ถูกสิครับ เท่านั้นเอง
ไม่รู้จะไปเริ่มจากตรงไหนอะครับ ลองไล่ดูหัวจะระเบิดแย้วว :'(
สุดท้ายมาจบตรงนี้อะครับ
$tags = get_meta_tags($file);
ไอ้ตัวสีแดงมันจะอ้างอิง page.html แต่ผมอยากเขียนใหม่ ให้มันอ้างอิงที่ /articles/page.html คุณ tee++ อนุโมทนาสาธุ สงเคราะห์ผมที่ครับ :-*(ดูตา) ผมเขียนไม่เป็น :'(
อืม มั่วไปมั่วมาได้เฉยเลย ;D เหมือนถูกหวย :D ผมแก้เป็นแบบนี้ครับ
$articles = "http://www.domain.com/articles/$file";
$tags = get_meta_tags($articles);
:-\ ขอบคุณๆ tee++ อีกครั้งครับ :)