عرفان ولی زاده
4 سال پیش توسط عرفان ولی زاده مطرح شد
3 پاسخ

سوال - چطور میتونم به فایل آرایه اضافه کنم - بدون حذف شدن آرایه قبلی

سلام خوبید دوستان؟
برای یه پروژه نیاز دارم به اینکه اطلاعات رو توی فایل جیسون ذخیره کنم بعد این اطلاعات رو وقتی که میخوام اضافه منم یه مشکلی برام پیش میاد اونم اینکه نمی تونم , رو اضافه کنم به بعد هر آرایه که ارور فایل جیسون برطرف بشه

file_put_contents("data/messageSchedule.json",json_encode(['message'=>$messageSchedule,'time'=>$text]),FILE_APPEND);

اما این کد یه مشکلی به وجود میاره... اونم اینکه:

['message'=>'test','date'=>'20:20']['message'=>'test1','date'=>'21:21']

به این صورت آرایه هارو توی فایل جیسون قرار میده در صورتی که باید به شکل:

['message'=>'test','date'=>'20:20'],['message'=>'test1','date'=>'21:21']

این آرایه ها کنار هم قرار بگیرند کسی میتونه کمک کنه مشکل رو حل کنم؟
ممنونم پیشاپیش


ثبت پرسش جدید
بهزاد عزیزان
@behzad.azizan 4 سال پیش آپدیت شد
1

سلام

$array = json_decode(file_get_contents('data/messageSchedule.json'), true);
         $array[] = ['message'=>$messageSchedule,'time'=>$text];
        file_put_contents("data/messageSchedule.json",json_encode($array));

یه پیشنهاد : ازونجایی که Php رشته هایی که با دابل کوت (") تعریف میشن رو پردازش میکنه، رشته ای که میدونید نیازی به پردازش نداره رو داخل تک‌کوت (') بزارید تا بار پردازشی بی دلیل به سرور تحمیل نکنید.


عرفان ولی زاده
تخصص : طراح رابط کاربری، برنامه نویس...
@abouterfan 4 سال پیش مطرح شد
0

@behzad.azizan
سلام خوبی بهزاد جان؟
مرسی از اینکه خواستی کمکم کنی ولی این جواب نداد متاسفانه من خودم یه array_push پیدا کردم ولی یه مشکلی داره
اونم اینکه داده هارو به این شکل اضافه میکنه:

{"message":"gijow","time":"21:21","0":{"message":"ojeoitjeotihj","time":"222"},"1":{"message":"jgkoerihoe","time":"222"}}

در صورتی که من میخوام به این شکل باشه:

{'message'=>'test','date'=>'20:20','message'=>'test1','date'=>'21:21'}

بهزاد عزیزان
@behzad.azizan 4 سال پیش آپدیت شد
0

@erfandevelop3r آخه این فرمتی که شما میخواید اصلا جیسون نیست
کدی که نوشتم باید درست کار کنه . شاید محتویات قبلی فایل جیسون شما مشکل داشته

اگه نمیخواید به صورت جیسون ذخیره بشه و با ان استراکچری که گفتید ذخیره کنید باید به صورت رشته با آرایتون برخورد کنید و محتویات هر کدوم رو به فایل با جداساز , بچسبونید


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام