کد PHP نمایش فایل های درون یک پوشه | نمایش پوشه در کد PHP

دسته بندی: PHP
زمان مطالعه: 6 دقیقه
۱۸ خرداد ۱۳۹۲

در مقاله‌ی کد php نمایش فایل‌های درون یک پوشه قرار است کدی بنویسیم تا بتوانیم محتوای یک فولدر که خود دارای فایل‌های مختلف و فولدر (پوشه) است را با ظاهر مناسب به نمایش بگذاریم. شاید مشابه این پروژه کوچک را در نمایش پوشه‌های هاست خود مشاهده کرده باشید. در ادامه‌ی مقاله همراه ما باشید.

کدهای نمایش فایل‌های درون پوشه


<!DOCTYPE html>
<html lang="en">
<head>
      <title>7Learn.com > List Of Files In a folder</title>
      <style type="text/css"> 
        body, table { 
          font-family: tahoma; font-size: 14px; 
        } 
          
        ul { 
            list-style: none; line-height: 22px; 
        } 
          
        li.file { 
            color: #2f6d13; background: transparent url("image/file.png") no-repeat left 3px; 
            padding-left: 24px; 
        } 
        
        li.folder { 
            color: #e6981c; background: transparent url("image/folder.png") no-repeat left 3px;
            padding-left: 24px; 
        } 
        
        </style>
   </head>
   <body>
      <?php 
      
        function getFileList($folderName, $fileType = "") { 
            if (substr($folderName, strlen($folderName) - 1) != "/") { 
                $folderName .= '/'; 
            } 
            
            echo '<h3>List of ' . $fileType . ' files in folder : <span style="color:brown">' . $folderName . '</span></h3>'; 
            
            echo '<ul>'; 
            
            foreach (glob($folderName . '*' . $fileType) as $filename) {
                
                if (is_dir($filename)) {
                    $type = 'folder'; 
                } else { 
                    $type = 'file'; 
                } 
            
                echo '<li class="' . $type . '">' . str_replace($folderName, '', $filename) . '</li>'; 
            } 
            
            echo '</ul>'; 
        } 
        
        
        
            // call the function getFileList('files'); // list all files getFileList('files','.png'); // list only png files 
        
        
        ?> 
   </body>
</html>

در قطعه کد بالا، ما کل فایل html را برای شما گذاشته‌ایم که می‌توانید آن را در یک فایل با فرمت php ذخیره و اجرا کنید. در کد فوق تابع getFileList تعریف شده است که دو پارامتر دریافت می‌کند. اولی نام و یا آدرس فولدری (پوشه) که می‌خواهید فایل‌های درونش لیست شوند و با دومی هم فرمت فایل‌های لیست شده را می‌توانید انتخاب کنید.

مثلا اگر می‌خواهید کل فایل‌های درون فولدر files نمایش داده شوند تابع را به این صورت فراخوانی می‌کنید:

getFileList('files');

و اگر بخواهید فقط فایل‌هایی با فرمت jpg لیست شوند به این شکل فراخوانی می‌کنید:

getFileList('files','.jpg');

به این ترتیب می‌توانید تعیین کنید که فقط فایل‌هایی با فرمت خاص لیست شوند.

همان‌طور که قابل مشاهده است لیست فایل‌ها در ظاهری زیبا و با تفکیک رنگ و ظاهر فایل‌ها و فولدر‌ها، نمایش داده می‌شود.

جمع‌بندی:

 در مقاله‌ی کد php نمایش فایل‌های درون یک پوشه به صورت خیلی ساده و مفید آموختیم که چگونه می‌توانیم فایل‌ها و پوشه‌های درون یک فولدر را با ظاهری مناسب به نمایش بگذاریم. برای این که یک ظاهر دلنشین‌تر داشته باشید، می‌توانید برای هر نوع فایل یک icon متناسب برای آن فایل قرار دهید. برای مثال می‌توانید برای فایل‌هایی با پسوند png یک icon تصویر را قرار دهید تا هم تشخیص ساده‌تری داشته باشد و هم ظاهری زیباتر.

اگر به یادگیری بیشتر در زمینه‌ی PHP علاقه داری، با شرکت در دوره‌ی آموزشی متخصص PHP در کمتر از یک سال به یک متخصص PHP تبدیل می‌شوی که آماده‌ی استخدام، دریافت پروژه، کسب درآمد و یادگیری مباحثی مثل لاراول هستی.

چه امتیازی به این مقاله می دید؟
نویسنده امیر صالحی
عاشق دنیای برنامه نویسی و چالش های بزرگش

نظرات کاربران

حسن کرمانی

مرسی از اطلاعات خوبتون . فقط اگر بخواهیم روی اسامی فولدر و فایل های کلیک کنیم و باز شود تا محتویات داخل آن را مشاهده کنیم چه کدی را باید به محتویات بالا اضافه کنیم ؟ با تشکر

MASOUD HOSSEINY

درود
چطور میتونم عکس های داخل یک فایل رو با php بگیرم و روی اون ها لوگو بچسبونم

برای انجام این کار روی یک عکس از WideImage
استفاده میکنم

برای اینکه بتونم این کار رو بر روی تعداد فایل های زیادی انجام بدم چه کاری باید انجام بدم

پیشاپیش از پاسخ شما سپاسگزارم

محسن

سلام خدمت اساتید محترم ، اگر این لیست رو بخوایم بر اساس تاریخ مرتب کنیم چه کدی باید بزنیم ؟

کیوان علی محمدی

در php میشه با تابع filectime زمان تغییر فایل رو گرفت (در سرور ویندوز زمان ایجاد فایل و در سرور لینوکس هم زمان تغییر رو میده که میشه همون زمان ایجاد) میتونی لیست فایل ها رو بریزی داخل آرایه همراه با زمان ایجادشون و بعدش آرایه رو مرتب کنی و در نهایت چاپشون کنی.

Omid Rajaei

سلام
1- اگر بخوایم فایل های درون پوشه ای که فایل php قرار داره رو نمایش دهیم باید چطوری تعریف بشه ؟
تمام فایل های موجود در پوشه به غیر از خود فایل PHP!
2- برای اینکه با توجه به فرمت فایل، تصویر (ایکون کناری) رو انتخاب کنه باید به چه صورتی عمل کرد ؟
تشکر

لقمان آوند

1- مقدار پارامتر اول (مسیر) رو / بزارید. باید کمی کد رو تغیر بدید و مثلا چک کنید اگه پسوند فایل php بود نشونش نده.
2- می تونید فرمت فایل رو استخراج کنید و به عنوان یه کلاس css تگ html نمایش دهنده اون فایل اضافه کنید و بعد کلاس css مربوطه رو تعریف کنید و تصویر بزارید براش.
این کار رو تو دوره php انجام دادیم.

مهدی

سلام نمیشه یک کاری کرد که وقتی رو اسم فایل کلیک میکنن لینک همون فایل بیاد
یا به عبارت دیگه هر فایل لینک بشه

لقمان آوند

این مورد رو توی دوره php پیاده سازی کردیم. یه کمی باید برنامه نویسی بلد باشید و با توابع php آشنا باشید .

ashmes

سلام میتونید اسکریپتی رو در اختیار بنده قرار بدید بسیار دنبالش گشتم و پیدا نکردم یک اسکریپت میخواستم که از طریق url فایل های درون اون سایت رو نشون بده حالا از فایل های php تا jpg و فولدر ها و ….
واقعا نیاز دارم ممنون میشم . به ایمیل خبر بدید لطفا

لقمان آوند

سلام
همیشه نمی تونید اینکارو کنید .
فایلهای php رو که نمیتونید سورسشون رو بگیرید از url و اجازشو ندارید . فولدر ها رو هم معمولا سایتها می بندند. فقط تصاویر، ویدیو ها و … هست که اگه آدرسشون رو داشته باشید می تونید دانلودشون کنید .

خرید گوشی دست دوم

با تشکر و خسته نباشيد واقعا سايت خيلي خوب و مفيدي داريد موفق و پيروز باشيد

ernika

سلام با تشکر از سایت خیلی خوبتون اگه بخواهیم فایل ها قابلیت دانلود شدن هم داشته باشن باید چیکار کنیم؟

لقمان آوند

تو خط 49 این کد باید به جای چاپ نام فایل ، لینک اونو چاپ کنید !

Erfan Moharramkhani

خوب بود فقط یک سوال این که اگر بخواهیم مثلا فایل از یک آدرس دیگر نمایش داده شود مثلا “www.domain.com/folder” باید چکار کنم؟

لقمان آوند

آدرس رو با پارامتر get به صفحهارسال کنید و بدید به تابع .
در دوره ی آموزشی PHP سایت، این فایل منیجر رو با قابلیت های اضافه تکمیل کردیم .

هادی

نمیشه درباره موضوعی که دوستمون گفتن و نشون دادن فایلهای یک دامنه دیگرمون همینجا یک مثال بزنید؟ یا بگید کدی که گفتید رو کجا و چگونه باید استفاده کنیم؟

خیلی ممنون میشم

لقمان آوند

این کد فقط برای نشون دادن فایل های دامنه ای هست که اسکریپت رو توش گذاشتید.

خیلی عالی بود ممنون از سایت خوبتون

طراحی وب سایت

خیلی خوب بود مرسی

وحید صالحی

دوست عزیز سوالتون رو در انجمن مطرح کنید…

ارسال دیدگاه
خوشحال میشیم دیدگاه و یا تجربیات خودتون رو با ما در میون بذارید :