PDA

View Full Version : سوال: بستن فایل و unset کردن متغیر ها بعد از کار



milad_d993
چهارشنبه 29 خرداد 1392, 21:26 عصر
سلام
آقایون فایلی که با file_get_contents بازش کردیم یا با file_put_contents توش نوشتیم رو با چی باید ببندیم و خاتمه بدیم؟؟
آیا دستوری چیزی هست که تمام متغیر ها یی که تو یه صفحه هست رو بعد از رفتن به یه صفحه دیگه unset کرد؟؟؟

خیلی ممنونم...:گیج::گیج::گیج::گیج:

Unique
پنج شنبه 30 خرداد 1392, 02:35 صبح
اولا php از garbage collection خوبی برخورداره و معمولا نیازی به unset نیست پس از پایان اسکریپت مدیریت میشه ولی بعضی مثل من با توجه به سابقه ای که داشتن عادت کردند همیشه unset کنند !
در مورد file_get_contents و file_put_contents هم نیاز به close نیست و این توابع خودشون فایل را باز میکنند میخونند یا مینویسند و میبندند !

MMSHFE
پنج شنبه 30 خرداد 1392, 08:07 صبح
اگه میخواین همه متغیرهای بازشده توی یک صفحه رو در پایان اسکریپت ببندین، باید با استفاده از get_defined_vars متغیرهای تعریف شده رو بدست بیارین و بعد، با کمک کدی شبیه زیر، اونها رو حذف کنید:


<?php
/**
* @author M-L-F
* @copyright 2013
*/
function CompleteUnset($vars) {
if(is_array($vars)) {
foreach($vars as $var) {
CompleteUnset($var);
}
}
else {
unset($vars);
}
}
CompleteUnset(get_defined_vars());
?>

البته این کد در ساده ترین حالت نوشته شده و درنتیجه، تمام متغیرهای تعریف شده (شامل کوکی و سشن و...) رو حذف میکنه و اگه نمیخواین اونها حذف بشن، باید اعتبارسنجیهای لازم رو توی بدنه حلقه foreach انجام بدین.