طریقه پیمایش پوشه های تو در تو
#1
Note 
سلام
من یگ پوشه دارم که داخل آن پوشه و فایل وجود داره میخوام که با php اون رو پیمایش کنه و اینقدر پوشه های تو در تو رو داخل بره تا به فایلا برسه برا این باید چیکار کنم؟

پاسخ
#2
Note 
درود
منظورتون اینه که تمام فایلهای موجود در یک فولدر و زیر فولدرهای اون رو پیدا کنه؟

برای اینکار از این کد استفاده کنید:
کد php:
function listFolderFiles($dir){
    
$ffs scandir($dir);
    echo 
'<ol>';
    foreach(
$ffs as $ff){
        if(
$ff != '.' && $ff != '..'){
            echo 
'<li>'.$ff;
            if(
is_dir($dir.'/'.$ff)) listFolderFiles($dir.'/'.$ff);
            echo 
'</li>';
        }
    }
    echo 
'</ol>';
}

listFolderFiles('MyDir'); 

مردم دنیا 10 دسته هستند: کسانی که باینری میفهمند و کسانی که باینری نمیفهمند !
پاسخ
#3
Note 
واسه چی نتیجه اجرای تابع scandir این ارور رو میگیره
کد php:
function listFolderFiles($dir"ver1"){
    
$ffs scandir($dir);
    
var_dump($ffs) ;} 
نقل قول: Warning: scandir(ver1,ver1) [function.scandir]: The system cannot find the file specified. (code: 2) in C:\xampp\htdocs\cms\CMSclass.php on line 58

Warning: scandir(ver1) [function.scandir]: failed to open dir: No such file or directory in C:\xampp\htdocs\cms\CMSclass.php on line 58

Warning: scandir() [function.scandir]: (errno 2): No such file or directory in C:\xampp\htdocs\cms\CMSclass.php on line 58
bool(false)

پاسخ
#4
Note 
سلام چون مسیری که دادید وجود نداره

HAPPY CODING
پاسخ
#5
Note 
REza mAX نوشته است:سلام چون مسیری که دادید وجود نداره
سلام بله درسته
ولی منظورم اینه که چجوری باید ادرس بدم

پاسخ
#6
Note 
سلام
خیلی سادست٬ آدرس فولدر رو نسبت به محل فایل php باید تعیین کنید. پس وقتی('listFolderFiles('MyDir یعنی فولدر MyDir در کنار فایلتون هست.
توجه کنید که به حروف بزرگ و کوچک حساسه.

مردم دنیا 10 دسته هستند: کسانی که باینری میفهمند و کسانی که باینری نمیفهمند !
پاسخ
#7
Note 
ممنون یه سوال دیگه
من وقتی این کد رو اجرا میکنم فقط نتیجه اجرای اول حلقه foreach رو میاره در حالی که من همه مسیرا رو میخام باید چیکار کنم؟
کد php:
function listFolderFiles($dir)
{
    
$ffs scandir($dir);
    
var_dump($ffs) ;
    
$files = array() ;
    foreach(
$ffs as $ff){
        if(
$ff != '.' && $ff != '..')
        {
            if(
is_dir($dir.'/'.$ff))
            
$files[] = $this -> listFolderFiles($dir.'/'.$ff);
        }
        return 
$files 
        


پاسخ
#8
Note 
اینو دانلود کنید:
dir.php رو اجرا کنید.

مردم دنیا 10 دسته هستند: کسانی که باینری میفهمند و کسانی که باینری نمیفهمند !
پاسخ
#9
Note 
Stack OverFlow نوشته است:اینو دانلود کنید:
dir.php رو اجرا کنید.
ممنون ولی این کد رو داخل همین تاپیک بهم داده بودین . لطفا برا سوالم منو راهنمایی کنین

پاسخ
#10
Note 
کدی که من کذاشتم لیست همه فایلها و فولدرها رو میاره کدی که شما دستکاری کردید رو ندیدم
تو حلقه foreach بررسی میکنه در صورتی که تو لیست فولدر باشه باز زیر فولدر ها رو با فراخوانی تابع بصورت بازگشتی لیست میکنه
پس اگر منظورتون نتیجه scandir هست باید هم اینطور باشه.

مردم دنیا 10 دسته هستند: کسانی که باینری میفهمند و کسانی که باینری نمیفهمند !
پاسخ
ایجاد موضوع جدید   پاسخ به موضوع  

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Note نحوه پیمایش چند آرایه که در یک آرایه ذخیره شده؟ mahbobe.prog 6 877 08-10-2014 ساعت 11:05
آخرین ارسال: mahbobe.prog
Note چطور یک متغیر شامل چند ارایه رو با حلقه foreach پیمایش کنیم mahbobe.prog 10 1,391 01-10-2014 ساعت 20:11
آخرین ارسال: PHP.sec
Note چطور میشه فایلارو توی php پوشه بندی کرد؟ mahbobe.prog 1 1,042 17-07-2014 ساعت 18:32
آخرین ارسال: REza mAX
Note لیست فایلهای داخل پوشه mostafa2 1 318 16-02-2014 ساعت 21:43
آخرین ارسال: REza mAX

کاربرانِ درحال بازدید از این موضوع:   1 مهمان