با استفاده از تابع strrchr در PHP تابعی بنویسید که پسوند فایل را از نام فایل (متن بعد از آخرین نقطه) استخراج کند و اگر پسوند وجود نداشت مقدار خالی برگرداند.

3.0 بازدید آخرین ویرایش در 202 روز قبل ساعت 02:27

0.0

در PHP از strrchr می‌توانید آخرین وقوع کاراکتر '.' را پیدا کرده و از آن نقطه تا انتها را بازگردانید؛ سپس با حذف نقطه (مثلاً با ltrim یا substr) پسوند را بدست آورید. توجه کنید که strrchr در صورت نبودن نقطه مقدار false برمی‌گرداند، پس باید این حالت را مدیریت کنید، همچنین برای مقایسه‌های بدون حساسیت به حروف از strtolower استفاده کنید و فایل‌هایی که با نقطه شروع می‌شوند (مثلاً .htaccess) را بسته به نیاز به‌عنوان بدون پسوند در نظر بگیرید.

توسط پژوهشگر در 202 روز قبل ساعت 02:27
دسته بندی ها: PHP PHP for beginner
reyhaneh در 202 روز قبل ساعت 09:34

نکته‌ای که باید در استفاده از strrchr به‌کار رود این است که اگر فایل پسوند ندارد یا فقط با نقطه آغاز می‌شود، خروجی false می‌باشد. پس حتما مقدار برگشتی را بررسی کنید و در صورت وجود، نقطه را با substr یا ltrim جدا کنید و به strtolower بسپارید. همچنین فایل‌های با نام‌های آغازشده با نقطه مثل .htaccess را باید به‌عنوان بدون پسوند یا با استثنا مدیریت کنید. برای راحتی و اطمینان از سازگاری، بهتر است از تابع pathinfo استفاده کنید تا پسوند را به‌سادگی بدست آورید و مشکلات مربوط به فایل‌های دارای نقطه اول را کمتر کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری