זה אמור לעבוד:
http://pastebin.com/82za8MXw
WRITE_FUNCTION בגדול זה אומר שCURL לא שומר בעצמו את המידע שיורד(במקרה הזה קובץ) אלא שולח לך אותו בחלקים חלקים(תוך כדי ההורדה)
ואתה צריך לעשות איתו מה שאתה רוצה(נניח לשמור לקובץ) ולהחזיר לו את מספר הבייטים שהספקת לשמור.
במקרה שלנו במקום לשמור לקובץ אנחנו עושים ECHO כדי לשלוח למשתמש תוך כדי ההורדה של השרת שלנו משרת המקור.
אפשר לעשות כל מיני טוייקים של הDOWNLOAD SPEED משרת המקור (אפשר גם לעקוב אחריה) ולעשות אופטימציה לכל התהליך