eshpilen
پنج شنبه 07 اردیبهشت 1391, 18:49 عصر
طی آخرین تحقیقات دانشمندان در این زمینه، علت امر به احتمال زیاد برمیگرده به magic_quotes_runtime.
توضیح رفرنس میگه:
If enabled, most functions that return data from an external source, including databases and text files, will have quotes escaped with a backslash. Can be set at runtime, and defaults to off in PHP.
ترجمه: اگر فعال باشد، بیشتر توابعی که داده هایی را از یک منبع خارجی برمیگردانند، شامل دیتابیس و فایلهای متن، کوتیشن ها را با یک بک اسلش Escape خواهند کرد. این تنظیم میتواند در زمان اجرا انجام شود، و در PHP بصورت پیشفرض خاموش است.
چون بنظرم قبلا کسانی مشکلی داشتن که شبیه این بود و احتمالا علتش همینه، الان که چشمم به این مطلب خورد گفتم سرنخ رو دست بدم.
یک مثال که روش خلاص شدن از شر این ویژگی رو هم نشون میده:
<?php
ini_set('magic_quotes_runtime', '1');
echo file_get_contents('test.txt');
echo '<hr>';
ini_set('magic_quotes_runtime', '0');
echo file_get_contents('test.txt');
?>
در فایل test.txt این متن رو قرار بدید:
uu'uu"uu\uu
توضیح رفرنس میگه:
If enabled, most functions that return data from an external source, including databases and text files, will have quotes escaped with a backslash. Can be set at runtime, and defaults to off in PHP.
ترجمه: اگر فعال باشد، بیشتر توابعی که داده هایی را از یک منبع خارجی برمیگردانند، شامل دیتابیس و فایلهای متن، کوتیشن ها را با یک بک اسلش Escape خواهند کرد. این تنظیم میتواند در زمان اجرا انجام شود، و در PHP بصورت پیشفرض خاموش است.
چون بنظرم قبلا کسانی مشکلی داشتن که شبیه این بود و احتمالا علتش همینه، الان که چشمم به این مطلب خورد گفتم سرنخ رو دست بدم.
یک مثال که روش خلاص شدن از شر این ویژگی رو هم نشون میده:
<?php
ini_set('magic_quotes_runtime', '1');
echo file_get_contents('test.txt');
echo '<hr>';
ini_set('magic_quotes_runtime', '0');
echo file_get_contents('test.txt');
?>
در فایل test.txt این متن رو قرار بدید:
uu'uu"uu\uu