הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   הורדה משרת רחוק, תוך כדי הפנייה אל השרת שלי. (https://hosts.co.il/forums/showthread.php?t=100286)

איציק ברבי 07-10-12 02:33

הורדה משרת רחוק, תוך כדי הפנייה אל השרת שלי.
 
יש לי קישור הורדה מאתר אחר לדוגמא(http://google.co.il/500mb.rar)

אני מעוניין לעשות סוג של העברה,
גולש מסויים יכנס לכתובת אתר שלי.
xxx.xxx.xxx.xxx/file.php
אני רוצה שיקפוץ לו חלון הורדה של הקובץ שהבאתי למעלה,(500mb.rar)
אז שיועבר דרכי,
אז עשיתי ככה:

PHP קוד:

header('Content-Description: File Transfer');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header("Content-Type: ".$url);
header("Content-Disposition: attachment; filename=".$url);  
header('Content-Length: ' size($r));
ob_clean();
flush();
readfile($n); 

**
function size()
PHP קוד:

$file $n;
$ch curl_init($file);
curl_setopt($chCURLOPT_NOBODYtrue);
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
curl_setopt($chCURLOPT_HEADERtrue);
curl_setopt($chCURLOPT_FOLLOWLOCATIONtrue);
$data curl_exec($ch);
curl_close($ch);
if(
preg_match('/Content-Length: (\d+)/'$data$matches)) {
    
$contentLength = (int)$matches[1];
}
return 
$contentLength

הוא מוריד הכל טוב ויפה,
אבל הוא לא מראה כמה גודל הקובץ, כמה נותר וכ'ו(בדפדפן)..

zoharesh 07-10-12 07:05

תבדוק שה-header שהשרת שולח לדפדפן תקין.
תוכל לעשות את זה עם wget או עם curl
דוגמה למימוש עם wget
wget --save-headers http://ovh.net/files/1Mio.dat

איציק ברבי 07-10-12 07:45

איך אני מבצע בדיקה של ה-האדרים האלו?

------
אגב ראיתי בבדיקה שלי שהפונקציה readfile שומרת את הקובץ בשרת, יש לכם מושג מה המיקום של הקובץ? מצאתי את זה ( /dev/simfs ) אבל לא הצלחתי לגשת אליו(404)

בניה 07-10-12 10:09

זה איום ונורא לעשות כזה דבר.
זה למערכת העלאת קבצים?

Steve-Web 07-10-12 10:40

איציק זה בעיה ידועה בהרבה מערכות שתדע . אתה בין המות נתקלים בזה . נסה להשתמש בדרך אחרת ללא header

Liorl 07-10-12 11:30

לפי דעתי זה פתיחת לינקים

איציק ברבי 07-10-12 15:28

ציטוט:

נכתב במקור על ידי Steve-Web (פרסם 859306)
איציק זה בעיה ידועה בהרבה מערכות שתדע . אתה בין המות נתקלים בזה . נסה להשתמש בדרך אחרת ללא header

איך אפשר להשתמש בזה בלי האדר?
חיפשתי על זה כמעט חצי לילה ולא מצאתי.

ושאר האנשים,
אני יודע מה אני עושה, אם אתם חושבים שזה הדרך הלא נכונה או לא אל תשעירו מסקנות, בבקשה תהיו דבוקים בנושא.

Kernel 07-10-12 15:58

אתה מנסה לתפקד בתור שרת פרוקסי-הורדות?

או להפנות גולש לאתר עם הheader והקוקי המתאימים?

איציק ברבי 07-10-12 16:02

ציטוט:

נכתב במקור על ידי Kernel (פרסם 859339)
אתה מנסה לתפקד בתור שרת פרוקסי-הורדות?

או להפנות גולש לאתר עם הheader והקוקי המתאימים?

כן אני מנסה לתפקד בתור שרת פרוקסי הורדות.

Kernel 08-10-12 00:32

אז תשתמש ב-Reverse Proxy ייעודי (מוד בשרתי HTTP),
אל תמציא את הגלגל מחדש,
PHP גם לא יתפקד תחת עומס של המון גולשים.


כל הזמנים הם GMT +2. הזמן כעת הוא 23:03.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ