PDA

View Full Version : مشکل تو ذخیره اطلاعات در فایل متنی



se8820726
یک شنبه 30 تیر 1392, 04:55 صبح
سلام
آقا من میخوام یه سری اطلاعات تو فایل متنی ذخیره کنم ولی کدم اصلا درست کارنمی کنه


<?php
$a = file_get_contents('a.txt');
$a .= "b";
file_put_contents('a.txt', $a);
?>


هربار که این کد رو اجرا میکنم دوبار کاراکتر b رو تو فایل a.txt مینویسه در صورتی که باید هربار فقط یکبار اونو اضافه کنه.
----------------------------
کد زیر رو در نظر بگیرین:


<?php
$a = file_get_contents('a.txt');
$a ++;
file_put_contents('a.txt', $a);
?>


محتویات فایل a.txt:


1


حالا هربار که کد رو اجرا میکنم به جای اینکه 1 واحد به عدد اضافه کنه. 2 واحد اضافه میکنه.
-------------------

چرا؟ لطفا منو راهنمایی کنید

amir001
یک شنبه 30 تیر 1392, 12:05 عصر
من تست کردم مشکلی نداره
طبیعی عمل میکنند

کدت داره دوبار اجرا میشه

se8820726
یک شنبه 30 تیر 1392, 19:26 عصر
سلام من حتی ویندوزمو عوض کردم و wampرو هم از اول نصب کردم. ولی هنوز این مشکل رو دارم.

سیستم عامل شما چیه؟
از wamp استفاده میکنید؟ ورژن php و apache تون چنده؟

Javidhb
یک شنبه 30 تیر 1392, 20:21 عصر
برای تست کدتون.. توی پوشه ی www یک پوشه جدید و یه فایل php بسازید و همین کد رو فقــط توش تست کنید (+ فایل متنی.)


همونطور که amir001 (http://barnamenevis.org/member.php?89093-amir001) گفتن، کدتون داره دوبار اجرا میشه: یا توی loop یا حتی htaccess ممکن دوبار درخواست به سرور میفرسته...

se8820726
یک شنبه 30 تیر 1392, 21:41 عصر
این کاری که گفتینو انجام دادم بازم کدم دوبار اجرا شد.

خوب من الان دارم رو سیستم local تو خونه تست میکنم و فایل htaccess ندارم.
حتی اینو رو windows server 2003 هم تست کردم که اونجا هم فایل htaccess نداشتیم. خوب الان مشکل دیگه از کجا میتونه باشه؟؟

se8820726
یک شنبه 30 تیر 1392, 22:05 عصر
آقا من همین الان فایلمو از طریق command prompt با این دستور اجرا کردم بدون مشکل کار کرد:


C:\wamp\bin\php\php5.4.3\php.exe C:\wamp\www\a\test.php


من apache access log رو بررسی کردم و متوجه شدم که apache هر اسکریپت رو دوبار اجرا میکنه.
rewrite mode غیر فعاله و تو پوشه روت هم فایل htaccess ندارم.

حالا این مشکلو چجوری حلش کنم؟

Javidhb
دوشنبه 31 تیر 1392, 00:58 صبح
جالب شد!!! اگه htaccess بود که تکلیف روشن بود...

نتیجه سرچ (از خودم نیست!): احتمالا مشکل از مرورگره که داره دوبار request میده. (چون با command line درست کار کرده)
http://stackoverflow.com/questions/6268516/php-mail-duplicates

se8820726
دوشنبه 31 تیر 1392, 01:59 صبح
جالب شد!!! اگه htaccess بود که تکلیف روشن بود...

نتیجه سرچ (از خودم نیست!): احتمالا مشکل از مرورگره که داره دوبار request میده. (چون با command line درست کار کرده)
http://stackoverflow.com/questions/6268516/php-mail-duplicates

خیلی ممنون دوست عزیز
این راهنماییت خیلی کمکم کرد.
بله مشکل از دوتا extension روی مرورگر کرومم بود.
1- Web Server Notifier
2- Web Technology Notifier

این دوتا افزونه باعث میشدن که اسکریپتم دوبار اجرا شه. حتی اطلاعاتم روی پایگاه داده هم دوبار ثبت میشد.
بعد از غیر فعال کردن هردو مشکلم حل شد.