הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 08-09-12, 13:36   # 1
GNS
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jun 2012
הודעות: 276

GNS לא מחובר  

Arrow X-Sendfile שומר cache?

אני משתמש באתר שלי בX-Sendfile להורדות. זה עובד טוב חוץ מלפעמים זיופים:

לפעמים למרות שהוא נשלח לקובץ X הוא מוריד קובץ Y שזה מאד מוזר.

שיניתי את ההדר:
קוד:
header("Cache-Control: no-cache");
header("Pragma: no-cache");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
וזה לא עזר.

יכול להיות שהשרת שומר איזה מטמון?

השמות של הקבצים שונים.
  Reply With Quote
ישן 08-09-12, 13:40   # 2
perfeito
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jul 2012
הודעות: 102

perfeito לא מחובר  

תשתמש ב
Content-Disposition
  Reply With Quote
ישן 08-09-12, 13:42   # 3
GNS
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jun 2012
הודעות: 276

GNS לא מחובר  

ציטוט:
נכתב במקור על ידי perfeito צפה בהודעה
תשתמש ב
Content-Disposition
אני משתמש..

קוד:
header("Content-disposition: attachment; filename=\"".$filename."\"");
  Reply With Quote
ישן 08-09-12, 14:00   # 4
אדיר
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Mar 2008
מיקום: אשקלון
הודעות: 1,714

אדיר לא מחובר  

בהנחה שזה קשור למטמון, תנסה לפתור את זה באמצעות ההגדרות הרלוונטיות שבעמוד הבא:
https://tn123.org/mod_xsendfile

אם תספק קצת יותר קוד ואפילו העתק של התגובות שהשרת מחזיר לך אולי נהיה קצת יותר חכמים.
  Reply With Quote
ישן 08-09-12, 14:34   # 5
GNS
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jun 2012
הודעות: 276

GNS לא מחובר  

זה הקוד שאני משתמש בו:

קוד:
<?php
$filename=....
$file_url=.....

header("Pragma: public"); 
header("Expires: 0");
header("Content-disposition: attachment; filename=\"".$filename."\""); 
header("Connection: close");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Cache-Control: private",false);
header("Content-Type: application/octet-stream");
header("Content-Description: File Transfer" );
header("Content-Transfer-Encoding: Binary");
header("Accept-Ranges: none");
header("X-Sendfile: ".$file_url);

?>

בhttpd.conf מוגדר:
XSendFileIgnoreEtag on

ותוצאות השליחה:
קוד:
Array ( [wrapper_data] => Array ( [0] => HTTP/1.1 200 OK [1] => Date: Sat, 08 Sep 2012 12:27:48 GMT [2] => Server: Apache/2.2.3 (CentOS) [3] => X-Powered-By: PHP/5.3.3 [4] => Pragma: public [5] => Expires: 0 [6] => Content-disposition: attachment; filename="[the filename]" [7] => Connection: close [8] => Cache-Control: must-revalidate, post-check=0, pre-check=0 [9] => Cache-Control: private [10] => Content-Description: File Transfer [11] => Content-Transfer-Encoding: Binary [12] => Accept-Ranges: none [13] => X-Powered-By: PleskLin [14] => Last-Modified: Wed, 04 Jul 2012 22:45:13 GMT [15] => ETag: "3c08018-4f5d5d-4c408c8b61040" [16] => Content-Length: 5201245 [17] => Content-Type: application/octet-stream ) [wrapper_type] => http [stream_type] => tcp_socket/ssl [mode] => r [unread_bytes] => 7584 [seekable] => [uri] => [the url]
כדי לבדוק שלא מדובר במטמון מהדפדפן שלי, השתמשתי בכמה דפדפנים שונים ואפילו במחשב שונה ועדיין זה מוריד קובץ אחר בכלל.

Last edited by GNS; 08-09-12 at 14:39..
  Reply With Quote
ישן 08-09-12, 14:55   # 6
אדיר
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Mar 2008
מיקום: אשקלון
הודעות: 1,714

אדיר לא מחובר  

הנתונים שמוזנים לסקריפט (file_url, filename) תואמים לנתונים שהשרת שולח לך בתגובה?
האם מדובר בקבצים קבועים שנשלחים כקבצים אחרים או שזה משתנה ואתה לא מזהה איזשהי תבנית קבועה?

על פניו הקוד נראה בסדר, אולי יש איזשהי בעיה לוגית בהצבת הערכים של המשתנים שגורמת לשליחת קבצים אחרים.
תעשה קצת דיבאגינג לקוד ותנסה לאתר את הבעיה, יהיה מאוד קשה (עד בלתי אפשרי) לעזור לך בלי גישה למערכת.
  Reply With Quote
ישן 08-09-12, 17:28   # 7
GNS
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jun 2012
הודעות: 276

GNS לא מחובר  

filename תואם, file_url זה הקובץ php שממנו הx-sendfile יוצא והוא בסדר.
לא מצאתי תבנית.

שיניתי לreadfile במקום x-sendfile והקובץ הנכון ירד, כך שזה בוודאות הx-sendfile.

יש רעיון / כיוון?
  Reply With Quote
ישן 08-09-12, 17:34   # 8
אדיר
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Mar 2008
מיקום: אשקלון
הודעות: 1,714

אדיר לא מחובר  

מזאת אומרת: "file_url זה הקובץ php שממנו הx-sendfile יוצא"?

filename אמור להכיל את השם של הקובץ,
file_url אמור להכיל את המיקום של הקובץ.
  Reply With Quote
ישן 08-09-12, 17:58   # 9
GNS
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jun 2012
הודעות: 276

GNS לא מחובר  

חלק מהיתרון של x-sendfile זה שלא יודעים את מיקום הקובץ..

מה שיש בfile_url זה הdownload.php
  Reply With Quote
ישן 08-09-12, 18:01   # 10
GNS
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jun 2012
הודעות: 276

GNS לא מחובר  

אחרי שהחזרתי מreadfile לx-sendfile זה הסתדר אבל אני די בטוח שזה יקרה שוב וקשה לנטר את זה.
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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