علت اضافه شدن بک اسلش به بعضی داده هایی که از دیتابیس واکشی میشوند کشف شد!

طی آخرین تحقیقات دانشمندان در این زمینه، علت امر به احتمال زیاد برمیگرده به 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"uuuu\

راستی ببخشید که عنوان و متن تاپیک یک مقدار شوخی آمیزه!

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>