PDA

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



esteftaats1368
جمعه 30 فروردین 1392, 23:16 عصر
سلام دوستان عزیز. من یه اسکریپت نوشتم که بیاد محتویات یه فایل رو بخونه.
بعدش اگه رشته <div class="lastnewsitem"> رو پیدا کرد موقعیتش رو توی متغیر $a بریزه.
بعدش یه حلقه گذاشتم که اشاره گر فایل که همون $a هست رو یکی یکی اضافه کنه و هر بار که اضافه می کنه با fgets کاراکتر به کاراکتر چاپ کنه اما برنامه ارور منطقی داره و نتیجه که $data هست رو درست اجرا نمی کنه.
ممنون میشم کمکم کنین.


<?php
$fp=fopen("file.txt","r");
$file = file_get_contents('file.txt');
//fwrite($fp,file_get_contents('http://www.farsnews.ir'));
$a=strpos($file,'<div class="lastnewsitem">');
for($i=0;$i<10;$i++){
fseek($fp, $a);
$a++;
echo '<pre>';
$data = fgets($fp, 1);
echo $data;
echo '</pre>';
echo '<br>';
}
fclose($fp);
//$handle = fseek($homepage, 69115);
//echo fgets($handle,15);
?>

ادیت : با کمک دوست عزیزم MMSHFE مشکل حل شد.

MMSHFE
شنبه 31 فروردین 1392, 00:07 صبح
1- برای خوندن کارکتر به کارکتر از fgetc استفاده کنید بهتره.
2- fseek رو قبل از حلقه for بگذارین چون الآن هربار حلقه اجرا میشه، دوباره به همون مکان اول برمیگردین.
3- دستور ;++a$ رو نفهمیدم برای چی گذاشتین چون اصلاً نیازی به جلو بردن اشاره گر ندارین. درواقع fgetc و fgets خودشون بعد از خوندن، اشاره گر رو جلو میبرن.
4- دستورات echo مربوط به تگ pre رو هم قبل و بعد از حلقه بگذارین چون الآن برای هر کارکتر یک تگ pre میسازه.