作者dudeboy (向恩多虧你)
看板PHP
標題[請益] 迴圈的範圍很大的時候怎麼辦
時間Sat Jul 18 12:52:18 2015
想要抓網站下的圖片 ,看了兩張圖片的編號是 546278.jpg ,695242.jpg
如果想要試著抓到所有的圖片
for ($i=0;$i<999999;$i++)
echo "<img src=\"
http://www.某某站.com/".sprintf("%06d", $i).".jpg</img>";
從000000 跑到999999, 伺服器整個爆炸了啊,記憶體狂飆
有其它有效率的方法嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.232.170.83
※ 文章網址: https://webptt.com/m.aspx?n=bbs/PHP/M.1437195140.A.C74.html
1F:→ MOONRAKER: 他爆炸他家的事你管他 你小心被他擋還差不多 07/18 14:13
2F:→ MOONRAKER: 而且應該是一定會被擋 所以不用想了 07/18 14:14
3F:→ MOONRAKER: 不然那種用MD5當檔名的你還要抓2^128次 抓到世界末日 07/18 14:14
4F:推 ptwabcd: 你也可以用map reduce會快很多喔 07/18 15:51
5F:→ KawasumiMai: 為什麼會記憶體狂飆?你儲存一堆想一次印出來嗎? 07/18 17:19
6F:→ KawasumiMai: 這種必須要定期把結果先吐出來才不會當掉 07/18 17:19
7F:→ KawasumiMai: 另外parser的東西,建議加上時差,效率低但比較不會 07/18 17:19
8F:→ KawasumiMai: 出事,雖然你這個應該只是自己印的而已 07/18 17:20
9F:→ KawasumiMai: 如果你是要印出來然後用Flashget抓,時間設長一點 07/18 17:20
10F:→ KawasumiMai: 不過你既然要跑php就直接讓他幫你抓到server內就好 07/18 17:21
11F:→ dlikeayu: 先別說server 光瀏覽器就爆了吧 07/18 20:30
12F:→ Yench: 你要全撈當然會爆炸呀... 09/01 16:08