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