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

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

dudu 07-03-07 23:29

קישור להורדת קובץ.
 
אני מחפש בסקריפט שיגרום לקובץ וורד [שאני רוצה להכניס לינק אליו באתר] להפתח כהורדה ולא
כקובץ אונליין.
בקיצור שבמקום לעשות 'שמירה בשם' כדי להוריד את הקובץ ==> זה פשוט יוריד את הקובץ.

האם יש לזה סקריפט או דרך כלשהיא?

תודה מראש.
דודו.

Tomer 07-03-07 23:33

תקרא על header(s) ב PHP, ואל תחשוב אפילו על להגיד שאתה לא מוצא - זה רשום שם כל-כך ברור שזה מדהים.

dudu 07-03-07 23:36

אין דרך אחרת? זה עושה בעיות עם ההאדס

Tomer 07-03-07 23:45

ציטוט:

נכתב במקור על ידי dudu (פרסם 434962)
אין דרך אחרת? זה עושה בעיות עם ההאדס

ועכשיו תקרא על ob_start, גם שם - התשובה די ברורה.

dudu 07-03-07 23:59

בבקשה אחי תעזור לי הנה מה שיש לי:
PHP קוד:

ob_start();

$file_name=$_GET["name"];
header('Content-type: application/txt');
header('Content-Disposition: attachment; filename=$file_name');
$file_name="/home/roeesi/domains/dati-breshet.co.il/public_html/hwork/";
readfile('$file_name'); 

וזה מוריד לי קובץ מוזר בשם המשתנה שלי. בלי סיומת לקובץ בלי כלום
!

תודה.

Tomer 08-03-07 00:23

ציטוט:

נכתב במקור על ידי dudu (פרסם 434982)
בבקשה אחי תעזור לי הנה מה שיש לי:
PHP קוד:

ob_start();

$file_name=$_GET["name"];
header('Content-type: application/txt');
header('Content-Disposition: attachment; filename=$file_name');
$file_name="/home/roeesi/domains/dati-breshet.co.il/public_html/hwork/";
readfile('$file_name'); 

וזה מוריד לי קובץ מוזר בשם המשתנה שלי. בלי סיומת לקובץ בלי כלום
!

תודה.

אף פעם אל תתחום משתנה ב ' ' - הוא פשוט לא יעבוד... תתחום הכל ב " " במקום.

ה Content-type אמור להיות משהו עם force-download או משהו, לא application/txt - תבדוק את זה.

dudu 08-03-07 00:29

תודה אחי! אין לי מילים להודות לך!

hpman28 09-03-07 10:15

אבטחה
 
סקריפט קצת בעייתי מבחינת אבטחה.

אפשר לנסות להכניס ביטויים כמו name="..../etc/passwd.
לא יודע אם readfile מגן על כל הדברים האלה.

וכל מקרה, $file_name לא כולל את המשתנה עצמו, רק ספרייה, ככה שהסקריפט הזה לא יעבוד


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

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