PDA

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



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

amin1softco
پنج شنبه 07 اردیبهشت 1391, 19:20 عصر
من این کشف رو به همه تبریک میگم .
.
.
مدیرا بعداً این پست رو پاک کننند :دی

eshpilen
جمعه 08 اردیبهشت 1391, 10:18 صبح
مدیرا بعداً این پست رو پاک کننند :دی
لطفا خودشم پاک کنید :لبخند:

wallfa
جمعه 08 اردیبهشت 1391, 11:25 صبح
چه کشف ها !