PDA

View Full Version : حرفه ای: خوندن ده خط اخر فایل



binyaft
یک شنبه 24 آبان 1388, 10:43 صبح
سلام به همه
من یک فایل دارم که توش هر لحظه یک خط ایجاد میشه
ولی من میخوام وقتی خونده میشه فقط ده خط اخر نمایش داده بشه
اگه کسی بتونه کمک کنه ممنون میشم

payamsp
یک شنبه 24 آبان 1388, 13:50 عصر
تابع file آدرس فايلي كه قرار خونده بشه رو به عنوان پارامتر ميگيره بعد هر كدوم از خط هاي فايل رو توي يك انديس از آرايه ميريزه و محتويات فايل رو به صورت يك آرايه بر مي گردونه .
حالا شما هر خطي رو كه مي خواي مي توني از محتوياتش استفاده كني .

binyaft
یک شنبه 24 آبان 1388, 16:16 عصر
تابع file آدرس فايلي كه قرار خونده بشه رو به عنوان پارامتر ميگيره بعد هر كدوم از خط هاي فايل رو توي يك انديس از آرايه ميريزه و محتويات فايل رو به صورت يك آرايه بر مي گردونه .
حالا شما هر خطي رو كه مي خواي مي توني از محتوياتش استفاده كني .


میشه یه مثال بزنید

payamsp
دوشنبه 25 آبان 1388, 11:15 صبح
$arr=file('file.txt');
echo $arr[4];


اين كد خط 5 فايل رو چاپ مي كنه

binyaft
سه شنبه 26 آبان 1388, 10:41 صبح
کد شما مشکل من رو حل نمیکنه
من میخوام همیشه ده خط اخر فایل خونده بشه
تو فایلی که من دارم هر لحظه یه خط ایجاد میشه (از پایین)
من میخوام از پایین ده خط به طور خودکار نمایش داده بشه
تقریبا یه چیزیه مثل اخرین مطالب سایت

payamsp
سه شنبه 26 آبان 1388, 11:18 صبح
من فقط يه نمونه از كار اين تابع رو واستون نوشتم
خوب 10 خط آخر فايل شما ميشه 10 تا خونه آخر اين آرايه .
شما بايد محتويات 10 تا خونه آخر اين آرايه رو چاپ كني .

s_salavati2002
سه شنبه 26 آبان 1388, 12:56 عصر
اگر برای تمرین می خوای همینایی که دوستان گفتن خوبه ولی فکر اینو بکن که فایلت حجمش بالا میره و سایتتم پر طرفدار میشه و اونوقت سرورت هم می خوابه!

من پیشنهاد می کنم که همه رو یه دفعه تو حافظه نریزی!
پوینترو بنداز آخر فایل و از آخر شروع کن به خوندن تا به EOL برسی و همین طوری ادامه بده تا ده خط بشه!
با fgets هم میشه ولی الان چیزی به ذهنم نمی رسه!
مواد لازم :
fseek,fgetc,fopen
و اگر لازم بود php.net

binyaft
چهارشنبه 27 آبان 1388, 19:12 عصر
گر برای تمرین می خوای همینایی که دوستان گفتن خوبه ولی فکر اینو بکن که فایلت حجمش بالا میره و سایتتم پر طرفدار میشه و اونوقت سرورت هم می خوابه!

من پیشنهاد می کنم که همه رو یه دفعه تو حافظه نریزی!
پوینترو بنداز آخر فایل و از آخر شروع کن به خوندن تا به EOL برسی و همین طوری ادامه بده تا ده خط بشه!
با fgets هم میشه ولی الان چیزی به ذهنم نمی رسه!
مواد لازم :
fseek,fgetc,fopen
و اگر لازم بود php.net




همه اینهایی رو که گفتی باز تر توضیح بده

s_salavati2002
چهارشنبه 27 آبان 1388, 23:27 عصر
همه اینهایی رو که گفتی باز تر توضیح بده
یه کاری کن با همون تابع file آرایه ای بگیر بعد با array_reverse اونو برعکس کن و خط اولش و بخون (میشه خط آخرش)
ولی خیلی مموری می خواد!

Armin62
جمعه 29 آبان 1388, 16:27 عصر
این مشکلتو حل میکنه

arturmacnight
سه شنبه 03 آذر 1388, 03:28 صبح
این از کدی که armin62 گذاشته سریعتر و صدالبته ساده تر و سریعتره. هرچند اون کد هم خوبه



<?php
$line=file('file.txt');

for ($i=count($line);$i>count($line)-11;$i--){
echo $line[$i].'<br/>';
}
?>