View Single Post
ישן 09-12-12, 14:58   # 1
איציק ברבי
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Feb 2011
הודעות: 970

איציק ברבי לא מחובר  

הורדה משרת אחר, והצגת הורדה מהשרת שלי.

דברים שאני רוצה לציין מראש,

* חובה שיהיה דרך PHP.

הנה הקוד, בעקרון מה שאני רוצה שעם טעינת הדף הקובץ שיורד ישלח אל הלקוח תוך כדי ההורדה של השרת, זאת אומרת שהגולש לא יצטרך לחכות להורדת הקובץ המלאה אלא שישר ישלח אותו.

הקוד הזה מבצע את זה בצורה טובה, אבל הבעיה היא מהירות ההורדה.

PHP קוד:
function download($url,$name){ 
        
$ch curl_init($url);
        
curl_setopt($chCURLOPT_RETURNTRANSFER,1);
        
$mh curl_multi_init();
        
$active null;
        
curl_multi_add_handle($mh,$ch);
        do {
            
$mrc curl_multi_exec($mh$active);
        } while (
$mrc == CURLM_CALL_MULTI_PERFORM);
        while (
$active && $mrc == CURLM_OK) {
            if (
curl_multi_select($mh) != -1) {
                do {
                    
$mrc curl_multi_exec($mh$active);
                } while (
$mrc == CURLM_CALL_MULTI_PERFORM);
            }
            
header('Content-Description: File Transfer');
            
header("Content-Disposition: attachment; filename=".$name);  
            
readfile(curl_multi_getcontent($ch));        
        }
        
curl_multi_remove_handle($mh$ch);
        
curl_multi_close($mh);
    } 
ניסיתי לבצע הורדה פשוטה באמצעות שליחת בקשה בcURL והוצאת הפלט דרך readfile (curl_exec()) ולא דרך curl_get_multicontent()...

אשמח אם משהו יוכל לעזור לי, תודה!
__________________

איציק ברבי - שירות לקוחות
כתובת אתר: http://build-net.co.il/
איימל: Support@build-net.co.il
טלפון: 052-3937296.
  Reply With Quote