PDA

View Full Version : سوال: خواندن سطر به سطر یک فایل متنی



habibvafapour
دوشنبه 08 آبان 1391, 17:58 عصر
سلام دوستان من میخواستم سطر به سطر یک فایل رو بخونم باز کردن و بستن فایل رو بلد هستم و نوشتن در فایل رو هم باد هستم
در خواندن فایل تشخیص انتهای فایل رو هم بلد هستم
مشکل من جایی هست که در هر سطر طول آن سطر با سطر قبلی متفاوت هست و نمیتوانم هربار طول آن سطر رو معین کنم
میخواستم راه حل تشخیص این کار چی هست
ممنون

colors
دوشنبه 08 آبان 1391, 19:46 عصر
سلام دوستان من میخواستم سطر به سطر یک فایل رو بخونم باز کردن و بستن فایل رو بلد هستم و نوشتن در فایل رو هم باد هستم
در خواندن فایل تشخیص انتهای فایل رو هم بلد هستم
مشکل من جایی هست که در هر سطر طول آن سطر با سطر قبلی متفاوت هست و نمیتوانم هربار طول آن سطر رو معین کنم
میخواستم راه حل تشخیص این کار چی هست
ممنون

سلام

برای خواندن خط به خط محتویات باید از تابع fgets استفاده کرد. نمونه زیر رو ببینید.

$handle = fopen('file.txt', 'r');
while(!feof($handle)){
$text = fgets($handle);
echo $text.'<br/>';
}

habibvafapour
دوشنبه 08 آبان 1391, 20:28 عصر
من کد را نوشتم کد در فایل در سطر بعدی ذخیره میشود ولی برای نمایش در یک سطر به نمایش در نمی آید


<?php
$op = fopen("habib.xml",'a');
fwrite($op, "habib vafapour\r");
fclose($op);
$op = fopen("habib.xml",'r');
while(!feof($op)){
$text = fgets($op);
echo $text.'';
}
fclose($op);
?>

colors
دوشنبه 08 آبان 1391, 21:27 عصر
من کد را نوشتم کد در فایل در سطر بعدی ذخیره میشود ولی برای نمایش در یک سطر به نمایش در نمی آید


<?php
$op = fopen("habib.xml",'a');
fwrite($op, "habib vafapour\r");
fclose($op);
$op = fopen("habib.xml",'r');
while(!feof($op)){
$text = fgets($op);
echo $text.'';
}
fclose($op);
?>

متوجه نشدم!
اونجای که متغیر text چاپ میشه تو اون دوتا کوتیشنه (') یه <br/> هست

habibvafapour
دوشنبه 08 آبان 1391, 22:18 عصر
دوست عزیز بازم یه مشکل بزرگ هست اگر ما طول سطر اول رو مشخص نکنیم تمامی مطالب در یک پارگراف نوشته میشود

$text = fgets($op,16);
اگر بشه به جای عدد 16 که طول کارکتر هست بتوان طول آن سطر را بدست آورد مشکل کار ما حل میشود

colors
دوشنبه 08 آبان 1391, 23:31 عصر
والا بازم نفهمیدم. بگو میخوای چیکار کنی. چرا باید اینطوری باشه؟؟

colors
سه شنبه 09 آبان 1391, 00:11 صبح
الان من کد زیرو تست کردم و هیچ مشکل نداره. کل اونو براتون ضمیمه کردم.

$handle = fopen('file.txt', "r");
while(!feof($handle)){
$text = fgets($handle);
echo $text.'<br/>';
}
fclose($handle);
94426

habibvafapour
سه شنبه 09 آبان 1391, 00:56 صبح
مرسی دوست عزیز متوجه اشتباه بزرگم شدم من زمان نوشتن بر روی فایل با کارکتر r\نوشتن رو به پایان میرسوندم حالا فهمیدم که باید با کارکتر n\ فایل متن رو به پایان برسونم ببخشید که این همه شما رو گیج کردم
برای همه چیز ممنون