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

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 01-02-11, 17:06   # 1
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

יצירת תיקייה מחוץ ל www root וקריאה ממנה.

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

PHP קוד:
header('Content-type: application/mp3');
header('Content-Disposition: attachment; filename="'.$file_name.'"');
readfile($file_name_read); 
בניתי 2 קבצי php שאמורים לעזור.
ראשית, פתחתי תיקייהה מחוץ ל html_public בשם abc.
והנה הקודים:

זה הדף שקורא קבצים מתוך התיקייה.

PHP קוד:

<?php

פה תיהיה בדיקה
אם אתה אדמיןהתכנית תימשךאחרתאתה נשלח לדף הבית.


$dhandle opendir('/home/bla/abc');
$files = array();
if (
$dhandle) {
   while (
false !== ($fname readdir($dhandle))) {
      if ((
$fname != '.') && ($fname != '..') &&
          (
$fname != basename($_SERVER['PHP_SELF']))) {
          
// store the filename
          
$files[] = (is_dir"./$fname" )) ? "(Dir) {$fname}" $fname;
      }
   }
   
closedir($dhandle);
}

foreach( 
$files as $fname )
{
   echo 
'<a href="get_file.php?file='.$fname.'">'.$fname.'</a><br />';
}


?>
הנה הקוד שאחראי לתת לך הורדה של הקובץ:

PHP קוד:

<?php

$file_name
=$_GET['file'];
$file_name_read="files/".$file_name;
header('Content-type: application/mp3');
header('Content-Disposition: attachment; filename="'.$file_name.'"');
readfile($file_name_read);


?>
אבל משום מה, כאשר אני עושה "הצג מקור" בדף שנותן לי את ההורדה אני רואה כזה דבר:
<a href="get_file.php?file=dsd.htm">dsd.htm</a>

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

אני מיואש כבר.
תודה.
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote
ישן 01-02-11, 17:26   # 2
SniR-S
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Aug 2008
הודעות: 546

SniR-S לא מחובר  

תיצור ID לכל קובץ שנמצא על התיקיה,
ואז תבדוק איזה ID נמצא בתוך המשתנה $_GET['file']
ולפי זה תדע איזה קובץ לשלוף ב HEADER

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

כי אז זה יצא get_file.php?file=12345
ועדיין תתבצע הורדה של הקובץ המתאים.

אם הבנתי אותך ועזרתי סבבה לגמרי,
אם לא אז תסביר קצת יותר טוב, כי לא הבנתי אם אתה רוצה להצפין את הכתובת לשימוש חד פעמי..
  Reply With Quote
ישן 01-02-11, 18:04   # 3
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

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

זה הקוד לפני הבעיה:


PHP קוד:
$file_name_read="files/".$file_name
עכשיו אני רוצה שבמקום files יהיה כתוב השם משתמש של אותו משתמש..הכנסתי את הערך שיש לו בעוגייה (עשיתי אבטחה לעוגיות) למשתנה בשם dir..הנה ניסיון:



PHP קוד:
$file_name_read=$dir/.$file_name

מה הבעיה בהצבת המשתנה?
תמיד אני נתקע בחלק הזה..

תודה
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743

Last edited by dor77; 01-02-11 at 18:12..
  Reply With Quote
ישן 01-02-11, 18:16   # 4
SniR-S
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Aug 2008
הודעות: 546

SniR-S לא מחובר  

PHP קוד:
$file_name_read=$dir "/" $file_name
  Reply With Quote
ישן 01-02-11, 19:37   # 5
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

אני בטוח שניסיתי את זה חחח כנראה משהו דומה,
איפה אני יכול ללמוד את כל זה? תמיד יש לי בעיות בשרשור.

תודה רבה!!
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  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. הזמן כעת הוא 16:38.

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