رفتن به سطر دلخواه در فایل
با سلام دوستان عزیز.
ممنون میشم جواب سوالمو بدین.
فکر کنید فایلی دارید بنام file.txt
و می خوایم که به مثلا به سطر 154 بریم و اولین کاراکترش رو بخونیم.
من تمام دستوراتش رو می دونم ولی نمی دونم چجوری باید به سطر 154 رفت.
خوب حالا چجوری باد اشاره گر رو به سطر 154 برد.
خیلی ممنون
نقل قول: رفتن به سطر دلخواه در فایل
بنظرم شما باید فایل رو با file_get_ contents بگیری بعدش با explode و ارماگون اول "\n" اونو به ارایه تبدیل کنی بعدش ارایه شما 153 رو بگیری بعد با strpos اولین حرفش رو به دست بیاری.
نقل قول: رفتن به سطر دلخواه در فایل
تابع file هر خط فایل رو در یک عنصر از آرایه قرار میده .
$count=file('test.txt');
$h=$count[154];
خط 154 رو در متغیر $h داریم . با تابعی که اولین کاراکتر رو میخونه میتونیم بدست بیاریم (اسمش یادم نیست )
خیلی وقته با فایل ها کار نکردم ولی منطقش فکر کنم همینه .
نقل قول: رفتن به سطر دلخواه در فایل
نقل قول:
نوشته شده توسط
amin0256
بنظرم شما باید فایل رو با file_get_ contents بگیری بعدش با explode و ارماگون اول "\n" اونو به ارایه تبدیل کنی بعدش ارایه شما 153 رو بگیری بعد با strpos اولین حرفش رو به دست بیاری.
نقل قول:
نوشته شده توسط
pary_daryayi
تابع file هر خط فایل رو در یک عنصر از آرایه قرار میده .
$count=file('test.txt');
$h=$count[154];
خط 154 رو در متغیر $h داریم . با تابعی که اولین کاراکتر رو میخونه میتونیم بدست بیاریم (اسمش یادم نیست )
خیلی وقته با فایل ها کار نکردم ولی منطقش فکر کنم همینه .
من تغییرات رو توی کدها دادم.با کد زیر تونستم یه سطر دلخواه از فایل دسترسی داشت باشم.
$filename = "readme.txt";
$handle = fopen($filename, "r");
$count=file('readme.txt');
$h=$count[1];
?>
<pre>
<?php
echo "$h";
?>
</pre>
<?php
fclose($handle);
?>
الان سطردوم توی $h هست ولی مشکل اینه که حالا چه جوری باید اشاره گر رو به سطر دوم برد؟
نقل قول: رفتن به سطر دلخواه در فایل
استفاده از تابع فایل نیاز به fopen و fclose نداره ! درضمن شما خروجی را اشتباه متوجه شدن h$ تعداد خطوط را بر نمیگردونه بلکه یه ارایه بر میگردونه که هر خط از فایل توی یک اندیس اون واقع شده و اندیس شماره ۱۵۳ خط ۱۵۴ هست و شما میتونید string ذخیره شده توی این اندیس را هر بلایی سرش بیارین و بعد با تابع file_put_contents و استفاده از implode فایل را مطابق تغییرات ذخیره کنید.
دیروز یادمه دقیقا همین کار را توی یک پست با کد توضیح دادم جستجو کنید پیدا میکنید.
نقل قول: رفتن به سطر دلخواه در فایل
نقل قول:
نوشته شده توسط
Unique
استفاده از تابع فایل نیاز به fopen و fclose نداره ! درضمن شما خروجی را اشتباه متوجه شدن h$ تعداد خطوط را بر نمیگردونه بلکه یه ارایه بر میگردونه که هر خط از فایل توی یک اندیس اون واقع شده و اندیس شماره ۱۵۳ خط ۱۵۴ هست و شما میتونید string ذخیره شده توی این اندیس را هر بلایی سرش بیارین و بعد با تابع file_put_contents و استفاده از implode فایل را مطابق تغییرات ذخیره کنید.
دیروز یادمه دقیقا همین کار را توی یک پست با کد توضیح دادم جستجو کنید پیدا میکنید.
دوست عزیز. می دونم که $h تعداد خطوط را بر نمی گردونه.
قسمتی از کاری که می خواستم رو با کمک دوستی که این کد رو معرفی کردن حل کردم.
ولی مشکل اینه که من می خوام اشاره گر رو به خط خاصی مثلا 154 ببرم و بعدش با تابع gets() و گذاشتنش توی یه حلقه تک تک کاراکترها رو بررسی کنم که فعلا این مشکلم حل نشده.
نقل قول: رفتن به سطر دلخواه در فایل
شما نیازی به fgets ندارین !!!!!
$filename = "readme.txt";
$lines = file('readme.txt');
$row = $lines[153];
// do what you want with row 154 now !
$lines[153] = $row;
file_put_contents($filename,implode("",$lines));
حالا مشکل شما چیه ؟
نقل قول: رفتن به سطر دلخواه در فایل
نقل قول:
نوشته شده توسط
Unique
شما نیازی به fgets ندارین !!!!!
$filename = "readme.txt";
$lines = file('readme.txt');
$row = $lines[153];
// do what you want with row 154 now !
$lines[153] = $row;
file_put_contents($filename,implode("",$lines));
حالا مشکل شما چیه ؟
دوست عزیز مشکل حل شد. ممنون