לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 04-02-2016, 21:55
צלמית המשתמש של Nati323
  משתמש זכר Nati323 Nati323 אינו מחובר  
 
חבר מתאריך: 25.10.05
הודעות: 1,508
הורדת קובץ רק אם תנאי ב php מתקיים

אהלן, אני רוצה לעשות באתר שלי שרק משתמשים ששילמו יוכלו להוריד קובץ
לכן אני לא יכול לתת קישור להורדה אני צריך לבדוק קודם לכן אם הם שילמו ב php
אז אמרו לי להשתמש ב readfile ככה:
קוד:
if (condition) readfile(file);

אז עשיתי את זה, אבל הבעיה שהקבצים גדולים משהו כמו 2GB אז אני מקבל שגיאות זיכרון כמו
קוד:
[04-Feb-2016 20:35:56 Europe/Berlin] PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 901656576 bytes) in C:\xampp\htdocs\up\download.php on line 64 [04-Feb-2016 20:40:55 Europe/Berlin] PHP Fatal error: Out of memory (allocated 262144) (tried to allocate 901656576 bytes) in C:\xampp\htdocs\up\download.php on line 65

הראשונה הייתה אז חיפשתי וראיתי שכתוב לשנות את ה memory limit ל 0
אז שיניתי וקיבלתי את השנייה
אמרו לי שזה בגלל שלמחשב שלי אין מספיק זיכרון בשביל לפתוח את זה
אז השאלה שלי איך אני עושה שיוכלו להוריד קובץ רק אם תנאי ב php מתקיים ?
_____________________________________
חתימתי העצומה בגודלה הוסרה ע"י השליט הבלתי מעורער שימי, למי שיש בעיה שיפנה אליו.


ד אַל תַּעַן כְּסִיל כְּאִוַּלְתּוֹ פֶּן תִּשְׁוֶה לּוֹ גַם אָתָּה. ה עֲנֵה כְסִיל כְּאִוַּלְתּוֹ פֶּן יִהְיֶה חָכָם בְּעֵינָיו

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #5  
ישן 04-02-2016, 23:32
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,775
בתגובה להודעה מספר 2 שנכתבה על ידי MatiM שמתחילה ב "על פי ההערות..."

אני חושב שאולי פעם המשפט הזה היה נכון, אבל לאחרונה הנסיון שלי הוא שזה לא המצב. אולי זה עובד כך רק ב SAPI-ים מסויימים. ואולי גם זה לא. ואולי כמו שנכתב למעלה, לפעמים output buffering מופעל ב PHP בברירת מחדל ואז הוא מנסה לטעון הכל לזיכרון במקום להזרים ישר מ PHP, באמת אבדוק את הנקודה הזו איפה שראיתי את זה נכשל...

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

הדרך האידאלית לטפל בבעייה הזו היא: https://www.nginx.com/resources/wik...amples/x-accel/ (וגם כאן) - או המקבילה לה בשרת אחר, אם לצערך אתה משתמש בשרת אחר, כגון apache. בשיטה הזו גם אפשר לקבוע הגבלת מהירות פר-בקשה (יש חמורים שאשכרה הולכים וקוראים את הקובץ ושמים sleep בקוד כדי לרבע את הגלגל ולהמציא speed throttling לעניים...) - כמובן שהשרת צריך לתמוך בזה. nginx תומך...
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
נמאס לכם לזכור סיסמאות? לחצו כאן!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 13:40

הדף נוצר ב 0.04 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר