İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

fgets ile veri cekip explode ederken problem

Aredhelrim

0
İyinet Üyesi
Katılım
20 Nisan 2005
Mesajlar
283
Reaction score
0
selamlar,

soket baglantisiyla bir servere veri gonderip veri aliyorum fakat gonderdigim request e gelen cevabi explode etmem lazim. explode etmeye calisinca yada fgets i bi degiskene atmaya calisinca program cakiliyor, hata vermeden saatlerce bekletiyor.. kodlar asagidaki gibi

PHP:
<?php
//connectDB();
$tdl        =    $_POST["opt_no"];
$no        =    $_POST["gsm_no"];
$adet           = $_POST["adet"];
echo "baglaniyor.<br>";
$fp = fsockopen("**.**.**.**", 1010, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
echo "baglandi.<br>";
$out  = "22 c4cf2ab85f449eb01bbe3b1m5 ".$tdl . $no . " ". $adet ." 0\n" ;
fwrite($fp, $out);
echo "cevap : <b>".fgets($fp). "</b><br><br>";
//$gelen = fgets($fp, 4096); burda comment i kaldirincada cakiliyor
//$prov_id = explode (" ", fgets($fp)); burdada
//echo $prov_id[3]; burdada
fclose($fp);
echo "Gonderilen mesaj <b>$out </b>";
?>

turlu turlu seyler denedim, en mantiksiz olanlari bile bu kodun en son hali.
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
PHP:
fwrite($fp, $out); 

   while (!feof($fp)) {
   $cevap .= fgets($fp, 4096);
   }

fclose($fp);

$prov_id = explode(" ",$cevap);
echo $prov_id[3];

Bu sekilde dene.
 

Aredhelrim

0
İyinet Üyesi
Katılım
20 Nisan 2005
Mesajlar
283
Reaction score
0
PHP:
fwrite($fp, $out); 

   while (!feof($fp)) {
   $cevap .= fgets($fp, 4096);
   }

fclose($fp);

$prov_id = explode(" ",$cevap);
echo $prov_id[3];

Bu sekilde dene.

Degisen bir sey olmadi halen islem yapiyor. 20-25 dk bekliyorsun devam ediyor ama sonuc yok. Ne bir hata kodu, nede farklı birsey.
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Sokete kendin baglanip telnet ile bir request yollasana cevapta bir anormallik olmasin?
 

Aredhelrim

0
İyinet Üyesi
Katılım
20 Nisan 2005
Mesajlar
283
Reaction score
0
Sokete kendin baglanip telnet ile bir request yollasana cevapta bir anormallik olmasin?

Yok hersey normal, hatta fgets() i explode etmeden echo ettirincede sonucu veriyor ama farkli bir degiskene atama istedigimde yada explode etmek istedigimde cakiliyor..
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
PHP:
fwrite($fp, $out);  

   while (!feof($fp)) { 
   $cevap2 = fgets($fp, 4096); 
   echo $cevap2;
   flush();
   $cevap .= $cevap2;
   } 

fclose($fp); 

$prov_id = explode(" ",$cevap); 
echo $prov_id[3];

Serverin flush gibi dongu icin disari print etmeyi destekliyorsa bunu bir dener misin?
 

Aredhelrim

0
İyinet Üyesi
Katılım
20 Nisan 2005
Mesajlar
283
Reaction score
0
PHP:
fwrite($fp, $out);  

   while (!feof($fp)) { 
   $cevap2 = fgets($fp, 4096); 
   echo $cevap2;
   flush();
   $cevap .= $cevap2;
   } 

fclose($fp); 

$prov_id = explode(" ",$cevap); 
echo $prov_id[3];

Serverin flush gibi dongu icin disari print etmeyi destekliyorsa bunu bir dener misin?

maalesef durum degismedi..
 

Caesar

0
İyinet Üyesi
Katılım
5 Haziran 2006
Mesajlar
1,894
Reaction score
7
uğraşmayın lütfen php versiyonu güncelleyin, bazı versiyonlarda bug bulunuyor. versiyonu güncelleyin.

bug olduğunu anlamak için bir sayfaya file_get_contents ile kaynak alma talebi gonderin onuda almazsa bu bugdur başıma çok geldi.
 

Mywedding

1
İyinet Üyesi
Katılım
26 Eylül 2006
Mesajlar
5,893
Reaction score
96
Konum
www.odatv.com
Tecrübelere bakarmısınız....yazılanlardan bir şey anlamadım inanınki, yazılımcı arkadaşlarımızı tebrik ediyorum,

inşallah ileride benim başıma gelmez fwrite($fp, $out+file_get_contents , işte neyse..
 

Aredhelrim

0
İyinet Üyesi
Katılım
20 Nisan 2005
Mesajlar
283
Reaction score
0
uğraşmayın lütfen php versiyonu güncelleyin, bazı versiyonlarda bug bulunuyor. versiyonu güncelleyin.

bug olduğunu anlamak için bir sayfaya file_get_contents ile kaynak alma talebi gonderin onuda almazsa bu bugdur başıma çok geldi.

php bugs alanini inceledim, ve file_get_contents de denedim php 5.0.5 icin kayitli bir bug yok :s
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Sacma bir oneri ama bir de fread denesen fgets yerine.
 

Caesar

0
İyinet Üyesi
Katılım
5 Haziran 2006
Mesajlar
1,894
Reaction score
7
hayır kesinlikle bug diyorum arkadaşlar bu php nin bugu degil apache nin bugu modüller uyuşmuyor apache yayıyor. eminim diyorum neyse başıma geldi
 

Caesar

0
İyinet Üyesi
Katılım
5 Haziran 2006
Mesajlar
1,894
Reaction score
7
Hatta bir deneme yapmanı isteyeceğim;

PHP:
<?
$sayfa="http://www.haber7.com/haber.php?haber_id=202116";
$kaynak=file_get_contents($sayfa);

	$baslik='#<td class=titsBaslik-little bgcolor=\#F9F9F0>(.*?)<\/td>#si';
	preg_match($baslik,$kaynak,$d_baslik);
	$d_baslik=$d_baslik[1];
	$d_baslik=strip_tags($d_baslik);
	echo $d_baslik;
	
	$kisa='#<td class=titsBasliklar bgcolor=\#F9F9F0>(.*?)<\/td>#si';
	preg_match($kisa,$kaynak,$d_kisa);
	$d_kisa=$d_kisa[1];
	$d_kisa=strip_tags($d_kisa);
	echo "<br>".$d_kisa;
?>

Bu çalışacak mı çalışmayacak mı merak ediyorum.

Çalışırsa çıktısı
Şanlıurfa'da BERDEL dramı!
Şanlıurfa’da Berdel usulü evlendirilen bir kadın, eşiyle yaptığı kavgadan sonra, döndüğü baba evinin banyosunda, sırtında bebeği sarılı olarak intihar etti...
olması lazım. lütfen denermisin
 

Caesar

0
İyinet Üyesi
Katılım
5 Haziran 2006
Mesajlar
1,894
Reaction score
7
birdew bahsettiğim bug işyerimdeki bilgisayarımdaki modüldede bulunuyor bir sayfaya baglantı açmak istediğim zaman otomatikman ekteki hatayı alıyorum. inceleyiniz.
 

Aredhelrim

0
İyinet Üyesi
Katılım
20 Nisan 2005
Mesajlar
283
Reaction score
0
Hatta bir deneme yapmanı isteyeceğim;

PHP:
<?
$sayfa="http://www.haber7.com/haber.php?haber_id=202116";
$kaynak=file_get_contents($sayfa);

	$baslik='#<td class=titsBaslik-little bgcolor=\#F9F9F0>(.*?)<\/td>#si';
	preg_match($baslik,$kaynak,$d_baslik);
	$d_baslik=$d_baslik[1];
	$d_baslik=strip_tags($d_baslik);
	echo $d_baslik;
	
	$kisa='#<td class=titsBasliklar bgcolor=\#F9F9F0>(.*?)<\/td>#si';
	preg_match($kisa,$kaynak,$d_kisa);
	$d_kisa=$d_kisa[1];
	$d_kisa=strip_tags($d_kisa);
	echo "<br>".$d_kisa;
?>

Bu çalışacak mı çalışmayacak mı merak ediyorum.

Çalışırsa çıktısı

olması lazım. lütfen denermisin

Hocam bire bir ayni ciktiyi verdi. Calisiyor yani..
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Ozel bir dokuman degilse, yolla baska bir platformda deneyelim.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst