ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingขอถามเซียน PHP หน่อยครับ จะหาพื้นที่.....
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ขอถามเซียน PHP หน่อยครับ จะหาพื้นที่.....  (อ่าน 1186 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
yen032
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 254
ออฟไลน์ ออฟไลน์

กระทู้: 2,736



ดูรายละเอียด
« เมื่อ: 11 ตุลาคม 2010, 21:59:03 »

ขอถามเซียน PHP หน่อยครับ จะหาพื้นที่ Folder ด้วย php ได้ยังไง

สมมุติผมจะหาพื้นที่ที่เหลือของ C:\seo\

จะหาได้ไหมครับว่า folder seo เหลือพื้นที่เท่าไหร่ครับ

ปล.ผมลองใช้ disk_free_space มันหาพื้นที่ได้แต่ ไดร์ หา folder ไม่ได้

รบกวนเซียน php ช่วยทีนะครับ

ขอบคุณครับ

 wanwan004 wanwan004 wanwan004 wanwan004 wanwan004
บันทึกการเข้า
gootooyoo
ก๊วนเสียว
*

พลังน้ำใจ: 27
ออฟไลน์ ออฟไลน์

กระทู้: 464



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 12 ตุลาคม 2010, 13:48:12 »

<?php

function get_dir_size($dir_name){
        $dir_size =0;
           if (is_dir($dir_name)) {
               if ($dh = opendir($dir_name)) {
                  while (($file = readdir($dh)) !== false) {
                        if($file !=”.” && $file != “..”){
                              if(is_file($dir_name.”/”.$file)){
                                   $dir_size += filesize($dir_name.”/”.$file);
                             }
                             /* check for any new directory inside this directory */
                             if(is_dir($dir_name.”/”.$file)){
                                $dir_size +=  get_dir_size($dir_name.”/”.$file);
                              }
                           }
                     }
             }
       }
closedir($dh);
return $dir_size;
}

$dir_name = “directory name here”;
/* 1048576 bytes == 1MB */
$total_size= round((get_dir_size($dir_name) / 1048576),2) ;
print “Directory $dir_name size : $total_size MB”;
?>
บันทึกการเข้า

ขวากหนาม ที่เราต้องข้ามผ่าน ถึงจะเจ็บก็จะไป (\◣_◢/) 
❤ 
yen032
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 254
ออฟไลน์ ออฟไลน์

กระทู้: 2,736



ดูรายละเอียด
« ตอบ #2 เมื่อ: 12 ตุลาคม 2010, 20:39:14 »

<?php

function get_dir_size($dir_name){
        $dir_size =0;
           if (is_dir($dir_name)) {
               if ($dh = opendir($dir_name)) {
                  while (($file = readdir($dh)) !== false) {
                        if($file !=”.” && $file != “..”){
                              if(is_file($dir_name.”/”.$file)){
                                   $dir_size += filesize($dir_name.”/”.$file);
                             }
                             /* check for any new directory inside this directory */
                             if(is_dir($dir_name.”/”.$file)){
                                $dir_size +=  get_dir_size($dir_name.”/”.$file);
                              }
                           }
                     }
             }
       }
closedir($dh);
return $dir_size;
}

$dir_name = “directory name here”;
/* 1048576 bytes == 1MB */
$total_size= round((get_dir_size($dir_name) / 1048576),2) ;
print “Directory $dir_name size : $total_size MB”;
?>

มันใช้ยังไงครับ
สมมุติจะหาพื้นที่ Folder D:\torr\

จะต้องเขียนยังไงครับ
บันทึกการเข้า
gootooyoo
ก๊วนเสียว
*

พลังน้ำใจ: 27
ออฟไลน์ ออฟไลน์

กระทู้: 464



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 13 ตุลาคม 2010, 09:17:16 »

<?php

function get_dir_size($dir_name){
    $dir_size =0;
    if (is_dir($dir_name)) {
        if ($dh = opendir($dir_name)) {
            while (($file = readdir($dh)) !== false) {
            if($file !="." && $file != ".."){
                if(is_file($dir_name."/".$file)){
                    $dir_size += filesize($dir_name."/".$file);
                }
                /* check for any new directory inside this directory */
                    if(is_dir($dir_name."/".$file)){
                        $dir_size += get_dir_size($dir_name."/".$file);
                    }
                }
            }
        }
    }
    closedir($dh);
    return $dir_size;
}

/*
 * เช่นชื่อโฟลเดอร์ที่คุณต้องการหา คือ datafiles
 * 1. c:/www/datafiles
 * 2. คุณสร้างไฟล์ ก่อน หน้ามัน เช่น findspace.php ใส่code ใน file นี้
 * 3. คุณ copy findspace.php ไปที่ c:/www/
 * 4.จะได้ findspace.php
 * 5. ใส่ชื่อ folder เช่น $dir_name= datafiles;
 *
 * ปล. ตรงนี้คือตัวอย่างการทดสอบให้ดู เราสามารถตั้ง path ได้เอง เช่น $dir_name = "../datafiles";
 *
 *
 *
 */

$dir_name = "ชื่อโฟลเดอร์"; /*<----  5./

/* 1048576 bytes == 1MB */
$total_size= round((get_dir_size($dir_name) / 1048576), 2);

print "Directory $dir_name size : $total_size MB" ;



?>
บันทึกการเข้า

ขวากหนาม ที่เราต้องข้ามผ่าน ถึงจะเจ็บก็จะไป (\◣_◢/) 
❤ 
Queue
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 106
ออฟไลน์ ออฟไลน์

กระทู้: 4,295



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 13 ตุลาคม 2010, 09:27:57 »

หาความรู้ด้วย

ต้องเก็บ
บันทึกการเข้า

NaiTan
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 378
ออฟไลน์ ออฟไลน์

กระทู้: 5,278



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 13 ตุลาคม 2010, 09:52:22 »

 :wanwan019:มาเก็บความรู้ใหม่ครับ
บันทึกการเข้า

yen032
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 254
ออฟไลน์ ออฟไลน์

กระทู้: 2,736



ดูรายละเอียด
« ตอบ #6 เมื่อ: 17 ตุลาคม 2010, 19:37:00 »

ไม่ได้อ่ะครับ
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์