رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
Notice: unserialize(): Error at offset 1055 of 1297 bytes in
#1
سلام
خوب هستین
منظور از این ارور چیه؟
نقل قول:
Notice: unserialize(): Error at offset 1055 of 1297 bytes in C:xampphtdocsrescontrollersuser_one.php on line 15
چطوری این مشکل رو حل کنم.
مرسی
پاسخ
تشکر شده توسط:
#2
احتمالا به خاطر اینکه که خروجی سریالیز شده به درستی ذخیره وبازیابی نشده.
بهتره به اینصورت عمل کنید.

//safely serialize & unserialize
$array=array("1","2","3");
$encoded_serialized= base64_encode(serialize($array));
$decoded_serialized = unserialize(base64_decode($encoded_serialized));

یادگیری مداوم حداقل شرط لازم برای موفقیت در هر زمینه ای است که در آن فعالیت می کنید؛ هر روز چیز جدیدی بیاموزید.
پاسخ
تشکر شده توسط: olampiad
#3
این کاری که شما انجام داده اید کارایی را پایین میاورد و هیچ تاثیری ندارد !

مگر تابع base64_encode چی بر میگردونه که تابع unserialize بر نمیگردونه ! هر دو رشته بر میگردونن


استارتر همانطور که دوستمان گفت کدتون مشکل داره اگر دارین از داخل دیتابیس واکشی میکنین به احتمال زیاد داده های شما escape شده هست و باید stripslashes بشوند
پاسخ
تشکر شده توسط: olampiad
#4
با نظر @bgsrb88 موافقم. تابع serialize به تنهایی نباید استفاده بشه و باید به همراه base64_encode استفاده بشه، جون گاهی اوقات توی بعضی کلمات درست کار نمیکنه. میتونید در این رابطه سرچ کنید.
پاسخ
تشکر شده توسط: olampiad
#5
(31-05-1394، 01:55 ب.ظ)php نوشته: با نظر @bgsrb88 موافقم. تابع serialize به تنهایی نباید استفاده بشه و باید به همراه base64_encode  استفاده بشه، جون گاهی اوقات توی بعضی کلمات درست کار نمیکنه. میتونید در این رابطه سرچ کنید.

میشه یک نمونه مثال بزنید ؟


× بعد یک سوال فنی ؟

اگه خروجی تابع serialize درست نباشه به نظر خودتون منطقی است که داده serialize شده را به base64_encode بدیم و بعد دوباره از base64_decode بگیریم ؟

یعنی به نظر خودتون base64_decode تعمیر می کند اگر داده خراب شده باشه ؟
پاسخ
تشکر شده توسط: olampiad
#6
مسئله مربوط به تعمیر کردن با base64_decode و ... نیست، اگر اشتباه نکنم مشکل وقتی پیش میاد که ", ', :,; در آرایه ای که میخواین serialize کنید وجود داشته باشه.
http://davidwalsh.name/php-serialize-unserialize-issues
پاسخ
تشکر شده توسط: olampiad
#7
تاریخ پست گذاشته شده برای سال 2008 است که الان ما 2015 هستیم و حدود 7 سال پیش این مشکل وجود داشته که طبق گفته نویسنده این باگ را گزارش داده

موفق باشید.
پاسخ
تشکر شده توسط: olampiad




کاربران در حال بازدید این موضوع: 1 مهمان