كيفية إلحاق المسار إلى PHP's Fines_Path في .htaccess
-
16-09-2019 - |
سؤال
حاليا على موقعي أنا أستخدم بيانات مثل:
include 'head.php';
include '../head.php';
include '../../head.php';
اعتمادا على عدد المجلدات المتداخلة عميقة أنا. أنا متأكد من وجود طريقة أفضل للقيام بذلك.
انا مقتنع .htaccess
هو الحل، لكنني لست متأكدا من كيفية الذهاب حول تنفيذها. إذا قمت بإدراج:
php_value include_path "public/html/root"
... أفقد بقية مساراتي (/usr/lib/php
, ، إلخ). جربت ساذجة:
php_value include_path $include_path . "(path)"
ولكن بالطبع هذا لم ينجح. كيف يمكنني إعدام أو إلحاق مسار واحد بهذه القائمة .htaccess
?
المحلول
إذا لم تتمكن من تحرير php.ini
ملف نفسه، يمكنك إضافة
set_include_path(get_include_path() . PATH_SEPARATOR . $path_to_add);
قبل حسابك include
صياغات.
ولكن إذا وجدت نفسك include
أو require
مشاكل، ربما رائحة رمز. سيكون أفضل حل تصميم جيد وجوه موجه مع جيد __autoload
وظيفة.
نصائح أخرى
إنشاء في الدلائل الفرعية الفرعية ملف .htaccess
مع المحتويات
php_value include_path '../../includes'
أو أيا كان include_path
هو الصحيح لهذا الدليل.
مزايا:
- لا الاختراق القبيح مع متعددة يشمل مع عمق مختلف. فقط
include 'head.php'
. - لا الاعتماد على التحرير
php.ini
. - لا حاجة للاستخدام
set_include_path()
قبل بما في ذلك. - لا الاعتماد على بما في ذلك الثوابت مثل
include INCLUDE_PATH . 'head.php'
.
ثمن البيع:
يمكنك القمامة الدلائل الفرعية الفرعية لكل منها مع ملف .htaccess
.