Cevaplar
-
server.scripttimeout = 999999
bu sayfaya eklemen gereken bir tanımlama sayfa timeout olmasın diye ikinci dediğine gelince mesajı split ile belirli yerlerden bölerek döngüye sokabilirsin.
Örnek:
xmlstr_numbers=replace(xmlstr_numbers," ","")
gsmdizi1 = split(xmlstr_numbers,",")
set fs=Server.CreateObject("Scripting.FileSystemObject")
set fname=fs.CreateTextFile("c:\TextFiles\" & dosya & ".txt" ,true)
for i=0 to uBound(gsmdizi1)
if len(gsmdizi1(i))=10 then
fname.WriteLine(dosya & "|90" & gsmdizi1(i))
end if
next
Bu ASP olarak sizin kullandığınız dil nedir? Bu kısımları diğer dillere çevirebilirsiniz sanıyorum.
Burada 90544xxxxxxx,90535xxxxxxx
şeklinde giden dizi halinde numaraları virgülden bölerek bir text dosyasına alt alta yazdırdım.
Geri kalan mantığı sizin dosyanıza ve nelerden bölmek istediğinize bağlı olarak değişmelisiniz.-
emoty_88
ilgin için teşekkür ederim ben php ile yazıyorum sistemi alında yapmak istediğim bir html oluşturmak
şöyle database den 50000 tane kayıt geliyor bu kıyıtların herbirini tekrar 50000 kayıt ile karşılaştırıp bir html tabloya alt alta diziyor işlem bittiğinde bunu bir yere dosya olarak kaydetmesini istiyorum12 yıl önce yazılmış -
tapsin
Kayıtları SQL de karşılaştırman daha hızlı sonuç verir SQL sorgusunda bunu karşılaştırıp ardından bir döngü ile parça parça ekrana verebilir tam olarak elindeki veri tabanı tablolarını ve sorgunu söyler isen yardımcı olurum o konuda da12 yıl önce yazılmış
-
-
flush() ile o ana kadar olan kısmı browsera gönderebilirsin. burada dikkat etmen gereken 2 şey var;
1) Browserlar belli boyuttan küçük içeriği göstermez, o yüzden içeriğin arttıkça ekranda gözükmeye başlayacaktır.
2) HTML çıktıyı table ile vermemen gerekiyor. Table ancak tamamlandığında gözükür. Bu yüzden Div vb taglarla yada salt çıktı vermelisin.
set_time_limit( int $seconds ) bu fonksiyonlar PHP kodunun timeout olmamasını sağlayabilirsin. -
döngü içerisinde doğrudan ekrana bastığınız da zaten istediğiniz gibi olur. fakat browser yorumlarken bir dizi değişiklik söz konusu olur.
örneğin,for($i=0; $i<50000; $i++) { echo $i.'<br>'; }
bu şekilde bir döngü istediğiniz sonucu verir.
ama siz döngüyüecho '<table><tr>'; for($i=0; $i<50000; $i++) { echo '<td>'.$i.'</td>'; } echo '</tr></table>';
şekilnde yada benzer bir şekilde kullanıyorsanız, çıktı browsere ulaşsa bile browser en son </table> yi görmeden görüntüyü vermeyecektir.
Dolayısı ile php de yapılan işlem kadar client tarafı da önem taşıyor.
siz çıktıyı <div></div> içerisinde, browsere her hangi bir tag'ın bitişini beklemeyecek şekilde ekrana veri basarsanız, ekrana veri birden değil yüklendikçe gelir.
php zaman aşımı için ise; sayfanızın en üstüne
set_time_limit(300); //saniye cinsinden 300 = 5 dakika direktifini ekleyerek sayfanızın zaman aşımı limitini 30 saniyeden 5 dakikaya çıkartabilirsiniz. Tabi bu zaman aşımı değerini siz değiştirebilirsiniz de... Kolay gelsin.