PDA

View Full Version : سوال: کار قطعه کد زیر چیست ؟



Taimaz_222
یک شنبه 28 مهر 1392, 23:17 عصر
با سلام خدمت دوستان .




__halt_compiler();

MostafaEs3
دوشنبه 29 مهر 1392, 15:10 عصر
//////////

رضا قربانی
دوشنبه 29 مهر 1392, 15:15 عصر
خب با این توضیحات از تابع die(); استفاده کنید که بهتره .

Taimaz_222
دوشنبه 29 مهر 1392, 16:30 عصر
این تابع برای توقف اجرای کامپایلر هست!

مثلا این کد رو ببینید:


<?php $a = 1; echo $a; __halt_compiler(); §RW$FG$%ZDS$TSG$TSZ%U(); §$"§%"§$!!();

میبینید که توابعی با نامهای نامعتبر داریم! این کد بدستی اجرا میشه (ولی در حالت عادی اینطور نیست!)

برای دریافت محتوای بعد از تابع:


<?php
$file = fopen(__FILE__, 'rb');
// Go to the end of the __halt_compiler();
fseek($file, __COMPILER_HALT_OFFSET__);
echo stream_get_contents($file);
__halt_compiler(); §RW$FG$%ZDS$TSG$TSZ%U(); §$"§%"§$!!();

با استفاده از این روش طبق توضیحات سایت php.net میشه محتوایی که بعد از این تابع هست رو گرفت.

منبع 1 :: http://php.net/manual/en/function.halt-compiler.php
منبع 2 :: http://stackoverflow.com/questions/5270486/whats-halt-compiler-in-php-for
-----------------------------
موفق باشید

ممنون از توضیحاتتون اما به قول دوستمون بهتر نیست بجای این همه راه از همون die استفاده کرد ؟؟؟

MostafaEs3
دوشنبه 29 مهر 1392, 18:04 عصر
//////////

Taimaz_222
دوشنبه 29 مهر 1392, 19:27 عصر
تا اونجا که یادم میاد من م اولین بار این کد رو توی یه فایلی دیدم که کدگذاری شده بود .


تشکر از توضیحاتتون دوست عزیز.