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

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

Ori The Man 22-01-06 22:09

עזרה בקשר להורדת קובץ
 
אני מנסה לעשות הורדה של קובץ כלשהו
ואני רוצה לימשוך את הקובץ מהכתובת זה הקוד שלי:
PHP קוד:

$filename=$_GET["file"];
$dir="dir/";
header('Content-type: application/txt');
header('Content-Disposition: attachment; filename=$dir$filename'); 


Ori The Man 23-01-06 15:01

מישהו??
ושחכתי להוסיף שאני ניכנס לקובץ ורוצה להוריד זהמ וריד לי $dir$filename

שקד 23-01-06 15:13

נסה ככה:
PHP קוד:

$filename=$_GET["file"];
$dir="dir/";
header('Content-type: application/txt'); 
header('Content-Disposition: attachment; filename=".$dir.$filename."'); 

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

header('Content-Disposition: attachment; filename='$dir$filename); 

בהצלחה :)

Ori The Man 23-01-06 15:27

הראשון לא עוזר
השני עושה
Parse error: parse error, unexpected T_VARIABLE

שקד 23-01-06 15:44

ציטוט:

נכתב במקור על ידי Ori The Man
הראשון לא עוזר
השני עושה
Parse error: parse error, unexpected T_VARIABLE

כן .. טעות שלי, תעשה ככה:
PHP קוד:

header('Content-Disposition: attachment; filename='.$dir.$filename.''); 


Ori The Man 23-01-06 15:47

גם לא טוב
זה נותן לי להוריד קובץ בשם act
וזה ללא סיומת (act.php זה הקובץ שבו אני רושם את זה)

שקד 23-01-06 15:50

ציטוט:

נכתב במקור על ידי Ori The Man
גם לא טוב
זה נותן לי להוריד קובץ בשם act
וזה ללא סיומת (act.php זה הקובץ שבו אני רושם את זה)

צור משתנה שיכיל את
$dir.$filename
ותשים אותו שם בהידר
כלומר:
PHP קוד:

$file $dir.$filename;
header('Content-Disposition: attachment; filename='.$file.''); 


Ori The Man 23-01-06 16:19

:(
אותו דבר

Ori The Man 23-01-06 22:24

מצטער על ההקפצה אבל זה ממש חשוב לי
יש למישהו רעיון?

maor 24-01-06 07:17

header תמיד מוריד בלי הסיומת... אלא אם כן הגדרת לו להוריד עם הסיומת

Ori The Man 24-01-06 13:13

שאני מגדיר לו קובץ רגיל
זה מוריד
עם סיומת על הכל
אבל פה אני רוצה שזהי משוך מהכתובת את השם של הקובץ
וזה לא נותן

Tomer 24-01-06 15:06

PHP קוד:

<?php
$filename2 
$dir.$filename;
$file $filename;
header('Content-Type: application/force-download');
header('Content-Disposition: attachment; filename="$file"');
readfile($filename2);
?>

הערה קטנה שמצאתי ב php.net - השם קובץ לא יכול להכיל את התיקיה, זה באג ב IE6 SP1
RTFM - http://php.net/header

Ori The Man 24-01-06 15:18

:( כלום לא מצליח
זה הקוד שלי
PHP קוד:

$filename=$_GET["file"];
$dir="log//";
$file $dir.$filename;
header('Content-type: application/txt');
header('Content-Disposition: attachment; filename=".$file."'); 


Tomer 24-01-06 15:29

נתתי לך קוד, למה אתה לא משתמש בו? (readfile נעלם בקוד שלך)

Ori The Man 24-01-06 15:35

חייבים את זה?
ואני לא מבין מה אומרים כל ה $file שכתבתה

Ori The Man 24-01-06 15:37

עשיתי עכשיו ככה
PHP קוד:

$filename=$_GET["file"];
$dir="log/";
$file $dir.$filename;
header('Content-type: application/txt');
header('Content-Disposition: attachment; filename='.$file.'');
readfile($file); 

ואותו דבר

ViPeRt 24-01-06 16:51

PHP קוד:

 
$filename 
$_GET['file']; 
$file "log/{$dir}{$filename}"
header("Content-type: application/txt"); 
header("Content-Disposition: attachment; filename={$file}"); 
readfile($file); 

תנסה את זה

Ori The Man 24-01-06 17:39

עכשיו זה נותן לי להוריד את {$file}

ViPeRt 24-01-06 19:52

איזה גירסאת php מותקנת על השרת?

Deagly 26-01-06 16:44

ציטוט:

נכתב במקור על ידי Ori The Man
אני מנסה לעשות הורדה של קובץ כלשהו
ואני רוצה לימשוך את הקובץ מהכתובת זה הקוד שלי:
PHP קוד:

$filename=$_GET["file"];
$dir="dir/";
header('Content-type: application/txt');
header('Content-Disposition: attachment; filename=$dir$filename'); 


תעשה ככה:

PHP קוד:

header('Content-type: application/text');
header('Content-Disposition: attachment; filename="file.txt"'); // שם הקובץ + הסיומת שלו שככה זה ירד למחשב
readfile('file.txt'); // הקובץ המקורי + הנתיב שלו 


Ori The Man 26-01-06 17:05

אני רוצה למשוך מהכתובת את השם של הקובץ

Deagly 26-01-06 17:29

ציטוט:

נכתב במקור על ידי Ori The Man
אני רוצה למשוך מהכתובת את השם של הקובץ

אז תעשה ככה:
PHP קוד:

$file $_GET['file'];
header('Content-type: application/text');
header('Content-Disposition: attachment; filename="file.txt"'); // שם הקובץ + הסיומת שלו שככה זה ירד למחשב
readfile($file); // הקובץ המקורי + הנתיב שלו 


Ori The Man 26-01-06 18:50

מה הקטע עכשיו שרשמתה file.txt
זה עדיין הולך אל הקובץ הזה זה לא לוקח מהכתובת

Kuchi 26-01-06 19:04

זה כן לוקח מהכתובת נגיד ועשית תקוד שהוא כתב בקובץ ב index.php
Tז אתה פשוט עושה ככה index.php?file=lol.php
אם לא עובד לך השרת שלך ממש ממש לא שווה בדקתי את מה שהוא נתן לך ועובד חלק !

Ori The Man 26-01-06 19:10

אבל הוא רשם
PHP קוד:

header('Content-Disposition: attachment; filename="file.txt"'); 

אם תשים לב זה שהוא רשם file.txt
שזה אומר שהוא לא לוקח מהכתובת

Kuchi 26-01-06 19:14

ציטוט:

נכתב במקור על ידי Ori The Man
אבל הוא רשם
PHP קוד:

header('Content-Disposition: attachment; filename="file.txt"'); 

אם תשים לב זה שהוא רשם file.txt
שזה אומר שהוא לא לוקח מהכתובת

אתה לא הבנת הקוד עובד ועושה שאת הקובץ PHP יציג כ TXT מה הבעיה ?

תאמין לי שאם תכתוב מה אתה מנסה לבנות יבינו אותך יחותר מצויין

Deagly 27-01-06 11:39

ציטוט:

נכתב במקור על ידי Ori The Man
אבל הוא רשם
PHP קוד:

header('Content-Disposition: attachment; filename="file.txt"'); 

אם תשים לב זה שהוא רשם file.txt
שזה אומר שהוא לא לוקח מהכתובת

ה file.txt הזה מציין איך זה ירד למחשב
ב readfile זה קורא את הקובץ לדוגמא: index.php?file=bla.php
זאת אומרת שזה יקרא את הקובץ bla.php
ואז יוריד לך אותו למחשב כ- file.txt


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

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