آیا نصب برنامه ای لازم است ؟
تمامی توابع کار با پوشه ها جزء هسته اصلی PHP بوده و به صورت پیش فرض نصب می باشند . بنابراین برای استفاده از آنها نیاز به نصب برنامه ای خاص یا تغییر تنظمیاتی در سرور خود ندارید .
لیست توابع کار با پوشه ها در PHP :
در لیست زیر توابع مهم و اصلی کار با پوشه ها در PHP را نمایش داده ایم . برای دریافت اطلاعات راجع به هر کدام ، بر روی نام آن کلیک نمایید .
نام تابع | کاربرد |
chdir ( ) | به وسیله این تابع می توانید پوشه جاری که درون آن هستید را عوض کنید . |
chroot ( ) | به وسیله این تابع می توانید پوشه اصلی ( root ) پروسه جاری خود را عوض کنید . |
dir ( ) | این تابع برای باز کردن و دسترسی به یک پوشه در سرور استفاده می شود . |
closedir ( ) | این تابع پوشه جاری و دسترسی به آن را می بندد . |
getcwd ( ) | این تابع آدرس و نام پوشه جاری که درون آن هستید را نمایش می دهد . |
opendir ( ) | این تابع ، پوشه ای که نام یا آدرس آن را برایش تعیین کرده اید ، باز می کند . |
readdir ( ) | این تابع می تواند فایل ها و محتویات درون یک پوشه را که قبلا توسط تابع ( ) opendir باز شده است را خوانده و بر می گرداند . |
scandir ( ) | این تابع لیست فایل ها و محتویات درون یک پوشه یا مسیر تعیین شده برای آن را به صورت یک آرایه بر می گرداند . |
تابع ( ) chdir در PHP :
تابع ( ) chdir ، پوشه جاری را به پوشه ای که نام آن را برایش تعیین کرده اید ، تغییر می دهد .
برای مثال فرض کنید که در حال حاضر در پوشه main هستید . می خواهید دستوری بنویسید که برنامه به پوشه images برود . در این حالت از تابع ( ) chdir استفاده می شود .
نکته : تابع ( ) chdir در صورت موفقیت برای جا به جایی پوشه به پوشه مورد نظر ، مقدار True را به صفحه بر می گرداند . در غیر مقدار ارسالی آن False خواهد بود .
شکل کلی تعریف و استفاده از تابع ( ) chdir در PHP به صورت زیر است :
Syntax | chdir ( directory ) ; |
syntax توضیح هر یک از موارد | |
توضیح | پارامتر |
این پارامتر تعیین کننده نام یا آدرس پوشه ای است که می خواهید برنامه از پوشه جاری به آن منتقل شود . استفاده از این پارامتر اجباری است . |
directory |
مثال : در مثال زیر نحوه استفاده از تابع ( ) chdir را در عمل نمایش داده ایم . برنامه ابتدا در پوشه main قرار دارد ، سپس با استفاده از تابع ( ) chdir ، پوشه جاری به پوشه images تغییر می یابد :
Example | |
// به وسیله این دستور پوشه جاری که برنامه در آن است را نمایش داده ایم echo getcwd(); echo " "; // توسط این دستور پوشه را به پوشه مورد نظر منتقل کرده ایم chdir ( " images " ) ; echo " "; // مجددا پوشه جاری را نمایش داده ایم echo getcwd(); ?> |
کد |
C:\testweb\main C:\testweb\main\images |
خروجی |
تابع ( ) chroot در PHP :
تابع ( ) chroot ، پوشه اصلی ( root ) جاری پروسه را به پوشه تعیین شده برای آن تغییر می دهد .
برای مثال فرض کنید که در یک وب سایت PHP ، در حال حاضر پوشه main پوشه اصلی است . شما می خواهید کدی طراحی نمایید تا پوشه اصلی را به پوشه default تغییر دهید . برای این منظور باید از تابع ( ) chroot استفاده نمایید .
نکات مهم درباره تابع ( ) chroot :
نکته 1 : این تابع در صورت موفقیت در تعویض پوشه اصلی به پوشه مورد نظر ، مقدار True را به صفحه بر می گرداند . در غیر اینصورت مقدار ارسالی False خواهد بود .
نکته 2 : این تابع بر روی پلتفرم های ویندوزی کار نمی کند .
شکل کلی تعریف و استفاده از تابع ( ) chroot در PHP به صورت زیر است :
Syntax | chroot ( directory ) ; |
syntax توضیح هر یک از موارد | |
توضیح | پارامتر |
این پارامتر تعیین کننده نام یا آدرس پوشه ای است که می خواهید پوشه اصلی برنامه از پوشه جاری به آن منتقل شود . استفاده از این پارامتر اجباری است . |
directory |
تابع ( ) dir در PHP :
تابع ( ) dir ، پوشه تعیین شده برای آن را باز کرده و نتیجه را به صورت یک object به صفحه ارسال می کند . object ارسالی دارای 3 متد ( ) read ( ) ، rewind و ( ) close است که از آنها می توان برای کار با اطلاعات خروجی تابع استفاده کرد . نحوه کار با این متدها در مثال عملی نمایش داده شده است .
نکته : تابع ( ) dir ، در صورتی که موفق شود پوشه تعیین شده برای آن را باز کند ، لیست محتویات درونی پوشه را به صورت یک آرایه بر می گرداند .
اما در صورتی که پوشه باز نشده و یا آن را پیدا نکند ، مقدار False را به همراه یک error به صفحه بر می گرداند . شما می توانید پیام error ارسالی را با استفاده از یک علامت @ در مقابل نام تابع مخفی نمایید .
شکل کلی تعریف و استفاده از تابع ( ) dir در PHP به صورت زیر است :
Syntax | dir ( directory ) ; |
syntax توضیح هر یک از موارد | |
توضیح | پارامتر |
این پارامتر تعیین کننده نام یا آدرس پوشه ای است که می خواهید برنامه آن را باز کرده و بخواند . استفاده از این پارامتر اجباری است . |
directory |
مثال های عملی :
در مثال های زیر نحوه کار با تابع ( ) dir را در عمل به شما نمایش داده ایم .
مثال 1 : در مثال زیر با استفاده از تابع ( ) dir ، پوشه images را باز کرده ایم . سپس با استفاده از متدهای object ارسالی آن به صغحه لیست آیتم های موجود در آن را در خروجی نمایش داده ایم :
Example | |
// به وسیله این دستور پوشه مورد نظر را باز کرده ، خوانده و در یک آرایه ذخیره نموده ایم $ dir = dir ( " images " ) ; // توسط این دستور آیتم های موجود در پوشه را در خروجی نمایش داده ایم while ( ( $ file = $dir -> read ( ) ) !== false ) { echo "filename: " . $file . " "; } // در پایان نیز پوشه باز شده را بسته ایم $dir -> close ( ) ; ?> |
کد |
filename: . filename: .. filename: ASP_Net.gif filename: HTML.gif filename: PHP.gif |
خروجی |
مثال 2 : در مثال دوم مثال قبل را باز نویسی کرده ایم ، با این تفاوت که در ابتدای نام تابع ( ) dir یک علامت @ قرار داده ایم . قرار دادن این علامت باعث می شود تا error احتمالی در صورت باز نشدن پوشه مورد نظر به هر دلیل ، نمایش داده نشود :
Example | |
// به وسیله این دستور پوشه مورد نظر را باز کرده ، خوانده و در یک آرایه ذخیره نموده ایم $ dir =@ dir ( " images " ) ; // توسط این دستور آیتم های موجود در پوشه را در خروجی نمایش داده ایم while ( ( $ file = $dir -> read ( ) ) !== false ) { echo "filename: " . $file . " "; } // در پایان نیز پوشه باز شده را بسته ایم $dir -> close ( ) ; ?> |
کد |
تابع ( ) closedir در PHP :
تابع ( ) closedir ، پوشه ای که قبلا توسط تابع ( ) opendir باز شده و برنامه به آن دسترسی دارد ، را می بندد .
برای بسته شدن پوشه مورد نظر ، باید نام آن پوشه را به صورت یک پارامتر به تابع ( ) closedir ارسال نمایید .
شکل کلی تعریف و استفاده از تابع ( ) closedir در PHP به صورت زیر است :
Syntax | closedir ( directory ) ; |
syntax توضیح هر یک از موارد | |
توضیح | پارامتر |
این پارامتر تعیین کننده نام یا آدرس پوشه ای است که می خواهید برنامه آن را ببندد . استفاده از این پارامتر اجباری است . |
directory |
مثال : در مثال زیر با استفاده از تابع ( ) closedir ، پوشه ای را که قبلا برنامه باز کرده و به آن دسترسی داشته را بسته ایم : در آن را در خروجی نمایش داده ایم :
Example | |
// به وسیله این دستور پوشه مورد نظر را باز کرده ، خوانده و در یک آرایه ذخیره نموده ایم $ dir = opendir ( " image " ) ; // توسط این دستور آیتم های موجود در پوشه را در خروجی نمایش داده ایم while ( ( $ file = readdir ( $dir ) ) !== false ) { echo "filename: " . $file . " "; } // در پایان نیز پوشه باز شده را بسته ایم closedir ( $dir ) ; ?> |
کد |
filename: . filename: .. filename: ASP_Net.gif filename: HTML.gif filename: PHP.gif |
خروجی |
تابع ( ) getcwd در PHP :
تابع ( ) getcwd ، نام و آدرس کامل پوشه ای که برنامه در آن لحظه در آن قرار دارد را به صفحه بر می گرداند .
تابع ( ) getcwd در صورت موفقیت در خواندن نام و آدرس پوشه جاری ، مقدار آن را به صفحه بر می گرداند . در غیر اینصورت مقدار برگشتی آن False خواهد بود .
شکل کلی تعریف و استفاده از تابع ( ) getcwd در PHP به صورت زیر است :
Syntax | getcwd ( ) ; |
مثال : در مثال زیر با استفاده از تابع ( ) getcwd ، پوشه ای که برنامه در حال حاضر در آن قرار دارد ، را در خروجی نمایش داده ایم :
Example | |
echo getcwd( ) ; ?> |
کد |
C:\testweb\main | خروجی |
تابع ( ) opendir در PHP :
تابع ( ) opendir ، پوشه تعیین شده برای آن را باز کرده و لیست محتویات درونش را برای استفاده با متدهای ( ) readdir و ( ) closedir به صفحه بر می گرداند . به وسیله متد ( ) readdir می توانید محتویات درون پوشه را خوانده و در خروجی نمایش دهید . همچنین به وسیله متد ( ) closedir ، در پایان کار پوشه را می بندید .
نکته : تابع ( ) opendir ، در صورت موفقیت در باز کردن پوشه مورد نظر لیست محتویاتش را به صفحه برگشتانده و در صورتی که به هر دلیل موفق به باز کردن پوشه نشده و یا آن را پیدا نکند ، مقدار False یک error را به صفحه بر می گرداند .
شما می توانید با قرار دادن علامت @ در مقایل نام تابع ، error احتمالی آن را مخفی سازید .
شکل کلی تعریف و استفاده از تابع ( ) opendir در PHP به صورت زیر است :
Syntax | opendir ( directory ) ; |
syntax توضیح هر یک از موارد | |
توضیح | پارامتر |
این پارامتر تعیین کننده نام یا آدرس پوشه ای است که می خواهید برنامه آن را باز کرده و بخواند . استفاده از این پارامتر اجباری است . |
directory |
مثال های عملی :
در مثال های زیر نحوه کار با تابع ( ) opendir را در عمل به شما نمایش داده ایم .
مثال 1 : در مثال زیر با استفاده از تابع ( ) opendir ، پوشه images را باز کرده ایم . سپس با استفاده از متدهای object ارسالی آن به صفحه لیست آیتم های موجود در آن را در خروجی نمایش داده ایم :
Example | |
// به وسیله این دستور پوشه مورد نظر را باز کرده ، خوانده و در یک آرایه ذخیره نموده ایم $ dir = opendir ( " images " ) ; // توسط این دستور آیتم های موجود در پوشه را در خروجی نمایش داده ایم while ( ($file = readdir ( $dir ) ) !== false ) { echo "filename: " . $file . " "; } // در پایان نیز پوشه باز شده را بسته ایم closedir ( $dir ) ; ?> |
کد |
filename: . filename: .. filename: ASP_Net.gif filename: HTML.gif filename: PHP.gif |
خروجی |
تابع ( ) readdir در PHP :
تابع ( ) readdir ، آیتم های موجود در پوشه ای که قبلا توسط متد ( ) opendir باز شده را خوانده و به عنوان خروجی به صفحه بر می گرداند .
نکته : تابع ( ) readdir در صورت موفقیت در خواندن پوشه ، نام آیتم های موجود در پوشه را به عنوان خروجی بر می گرداند . اما اگر به هر دلیلی نتواند پوشه را بخواند ، مقدار برگشتی آن False خواهد بود .
شکل کلی تعریف و استفاده از تابع ( ) readdir در PHP به صورت زیر است :
Syntax | readdir ( dir_stream ) ; |
syntax توضیح هر یک از موارد | |
توضیح | پارامتر |
این پارامتر تعیین کننده نام متغیر آرایه ای است که لیست آیتم های موجود در پوشه را که قبلا توسط تابع ( ) opendir درون آن ریخته اید ، است . نحوه استفاده از این پارامتر در مثال نمایش داده شده است . استفاده از این پارامتر اجباری است . |
dir_stream |
مثال های عملی :
در مثال های زیر نحوه کار با تابع ( ) readdir را در عمل به شما نمایش داده ایم .
مثال 1 : در مثال زیر با استفاده از تابع ( ) opendir ، پوشه images را باز کرده ایم . سپس با استفاده از متدهای object ارسالی آن به صفحه لیست آیتم های موجود در آن را به وسیله تابع ( ) readdir یکی یکی خوانده و در خروجی نمایش داده ایم :
Example | |
// به وسیله این دستور پوشه مورد نظر را باز کرده ، خوانده و در یک آرایه ذخیره نموده ایم $ dir = opendir ( " images " ) ; // توسط این دستور آیتم های موجود در پوشه را در خروجی نمایش داده ایم while ( ($file = readdir ( $dir ) ) !== false ) { echo "filename: " . $file . " "; } // در پایان نیز پوشه باز شده را بسته ایم closedir ( $dir ) ; ?> |
کد |
filename: . filename: .. filename: ASP_Net.gif filename: HTML.gif filename: PHP.gif |
خروجی |
تابع ( ) scandir در PHP :
تابع ( ) scandir ، لیست فایل ها و پوشه های موجود در یک مسیر خاص را به صورت یک آرایه بر می گرداند .
نکته : خروجی این تابع در صورت موفقیت در خواندن پوشه آرایه ای از لیست فایل ها و پوشه ها و در صورت عدم موفقیت مقدار False به همراه یک پیام هشدار خواهد بود .
شکل کلی تعریف و استفاده از تابع ( ) scandir در PHP به صورت زیر است :
Syntax | scandir ( directory , sort ) ; |
syntax توضیح هر یک از موارد | |
توضیح | پارامتر |
این پارامتر تعیین کننده نام یا آدرس پوشه ای است که می خواهید برنامه آن را باز کرده لیست فایل های موجود در آن را در خروجی برگرداند . استفاده از این پارامتر اجباری است . |
directory |
این پارامتر ترتیب نشان دادن آیتم های آرایه خروجی تابع را مشخص می کند . به صورت پیش فرض این آرایه از عضو 0 شروع شده و رو به افزایش می رود . اگر مقدار sort را روی 1 تنظیم نمایید ، آرایه از انتها به صورت کاهشی نمایش داده خواهد شد . استفاده از این پارامتر اختیاری است . |
sort |
مثال های عملی :
در مثال های زیر نحوه کار با تابع ( ) 8 را در عمل به شما نمایش داده ایم .
مثال 1 : در مثال زیر با استفاده از تابع ( ) 8 ، فایل ها و اجزای پوشه images را به صورت یک آرایه در خروجی نمایش داده ایم . در مثال اول ، ترتیب آرایه به صورت پیش فرض و از کم به زیاد می باشد :
Example | |
print_r ( scandir ( " images " ) ) ; ?> |
کد |
Array ( [0] => . [1] => .. [2] => ASP.jpg [3] => PHP.jpg [4] => HTML.gif ) |
خروجی |
مثال 2 : در مثال دوم ، کد مثال 1 را باز نویسی کرده ایم با این تفاوت که با مقدار دهی پارامتر sort به 1 ، باعث شده ایم تا ترتیب نمایش آرایه برعکس شده و از انتها به ابتدا باشد :
Example | |
print_r ( scandir ( " images " , 1 ) ) ; ?> |
کد |
Array ( [4] => HTML.gif [3] => PHP.jpg [2] => ASP.jpg [1] => .. [0] => . ) |
خروجی |
منبع: developer1