بستن include

3dsmax

Member
سلام به همگی :wink:

من دو فایل دارم به نام به مثال a.php و b.php و در در هر کدوم از این فایل ها یک define با یک نام وجود دارد، به صورت زیر،

PHP:
a.php
--------
define("abc", "1");


b.php
-------
define("abc", "2");

حالا من می‌خوام فایل a.php رو include کنم و مقدار define abc رو بگیرم و فایل رو ببندم و سپس فایل b.php رو باز کنم و به همون شکل مقدار define abc رو از اون بگیرم و بعدش هم include فایل b.php رو از بین ببرم، به نظر شما دوستان باید چیکار کنم؟؟؟!!!

شاید راه دیگه‌ای هم باشه که اون define ها رو از فایل‌های مورد نظر بیرون کشید، اگه میشه راهنماییم کنین!!
 

NabiKAZ

Well-Known Member
بگیرم، ببندم، باز کنم، از بین ببرم....! این فعل ها یعنی چی؟!
 

3dsmax

Member
خوب چی بگم.
من دو تا define دارم با یک نام، یکی در فایل a.php و دیگری در فایل b.php ، خوب حالا چطور مقدار هر دو define رو دریافت کنم؟!
 

sunrise

Member
در حالت معمول شما نمي تونيد يک ثابت (که با define تعريف ميشه) رو دوباره مقداردهي کنيد، اما توسط کتابخانه runkit که براي php در نظر گرفته شده مي تونيد اين کار رو انجام بديد (توسط تابع runkit_constant_redefine) که باز البته استفاده از اون براي برنامه هايي که حالت عمومي دارند (يعني قرار هست بعدا افراد زيادي ازش استفاده کنند) مي تونه مشکل ساز باشه چرا که در حالت پيش فرض اين کتابخانه روي سرور نصب نيست.

اما براي کاري که شما مي خواهيد انجام بديد روش هاي بهتري هم وجود داره، هرچند دقيقا نمي دونم شما هدفتون از انجام اين کار چيه!
 

P.H.P

Member
سلام

اولی رو دریافت کن بده به متغییر بعد unset کن دومی رو include کن اونم بده به متغییر

ولی این کارت فکر نمیکنم صحیح باشه

موفق:rose:
 

3dsmax

Member
سلام

اولی رو دریافت کن بده به متغییر بعد unset کن دومی رو include کن اونم بده به متغییر

ولی این کارت فکر نمیکنم صحیح باشه

موفق:rose:

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

ممنون از راهنمایی تمام دوستان :rose:
 

sunrise

Member
من مقدارم متغیر نیست، define هستش!
دقيقا من هم براي همين گفتم نمي تونيد از unset استفاده کنيد، تنها راه اينه که يا يه روش ديگه رو براي انجام کاري که مي خواهيد استفاده کنيد يا اينکه از کتابخانه runkit براي اين امر استفاده کنيد.
 

3dsmax

Member
آخرش مجبور شدم نام define ها رو تغییر بدم؟!
--
ممنون از راهنمایی تمام دوستان
 

جدیدترین ارسال ها

بالا