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

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

Tomer 06-02-07 16:07

שפות תכנות - Frequently Asked Questions
 
אתם מוזמנים ליצור כאן FAQ לנושאי התכנות השונים, יש לשמור על התבנית הבאה:

<שפת תכנות>
ש: <שאלה>
ת: <תשובה>

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

אני מדי פעם אעדכן את התגובה מתחתיי (תגובה מס' 1 באשכול זה) עם קישורים לשאלות הנפוצות שהוספתם.

Tomer 06-02-07 16:08

אינדקס FAQ - שאלות נפוצות

אשכול המדריכים

BlueNosE 06-02-07 19:21

יפה מאוד, שמעת לי :-D
ונתחיל בשאלה שלשמה התכנסנו:

PHP
ש: כתבתי session_start, והופיעה לי שגיאה. מה לעשות?
ת: קודם כל אני מדבר על השגיאה בפורמט הבא:
Warning: session_start(): Cannot send session cache limiter - headers already sent
דבר שני, יכול להיות שבשרת מבוטל הerror_reporting, ולא תופיע שגיאה, הסשן פשוט לא יעבוד.
תבדקו בכל מקרה.

האפשרות הראשונה היא שכתבתם משהו לפני הsession_start. מספיק אנטר לפני סימן הפתיחה (לדוגמא ה<?php), והשגיאה תופיע. (מדובר לא רק על אנטרים! כל טקסט פלט..)
דבר שני שנקרא פלט הוא echo, print וכדומה - פונקציות הדפסה "שולחות" את ההיידרים לפני הפלט.

במקרה כזה יש אפשרות להוסיף את הsession_start() לפני הפלט, או פשוט להוסיף את הפונקצייה ob_start() לפני הפלט (ובסופו מומלץ ob_end_flush()).

האפשרות השניה מדברת על האנשים שמשתמשים בקידוד UTF-8.
אם אתה עובד עם הקידוד, ואתה משתמש בנוטפד של WINDOWS או כל עורך תמלילים אחר שמוסיף BOM בהתחלה, תהיה לך את הבעיה.
BOM הוא פלט שמתווסף בשמירה בקידוד UTF-8 לראש הטקסט, ובגלל זה ההיידרים נשלחים לפני הטקסט.
האפשרויות במקרה הזה הן או לשמור בתור ANSI ולא בתור UTF-8 (אפשר עדיין להשתמש בהיידר לקביעת סוג התוכן, אבל זה מסתבך קצת) או לעבוד עם עורך תמלילים אחר.
העורכים שמסוגלים לעשות משהו כזה הם Notepad2 (חיפוש בפורום), Notepad++ ו-Zend Studio. האחרון שציינתי עולה כסף, האחרים חינמים.
יש עוד עורכים כמו PHPEdit שיוכלו לעזור.. הבאתי רק רשימה חלקית מאוד.

הערה על השגיאה:
שגיאה זאת יכולה להופיע לכל קוד אשר מצריך שלא יהיה לפניו פלט HTML, ואפילו רווח מהווה פלט HTML, ולכן בראש הדף כמו שכתבת, מוסיפים את הקוד, ובתחתית הדף, את קוד הסגירה.

תודה לטל (WebProject) על ההערה

LosNir 06-02-07 20:27

PHP
ש: איך אני יכול לדעת סיומת של קובץ מסוים?
ת: על מנת לדעת סיומת של קובץ מסוים נחלק את שם הקובץ למערכים ע"י explode לתו "." .
לאחר מכן נציב בתוך משתנה חדש את את איבר המערך האחרון שיצרנו, לשם כך, נשתמש ב count פחות 1. הקוד הסופי הוא:


PHP קוד:

<?
$file_name 
"MyFile.zip.lol.ok.rar.exe.omg.zip.html.jpg";
$file_ext explode(".",$file_name);
$file_ext $file_ext[count($file_ext) - 1];
echo 
"File name is: $file_name<br />File ext is: $file_ext";
?>

דוגמא: http://www.losnir.net/file_ext.php
קוד מקור: http://www.losnir.net/file_ext.phps

WebProject 08-02-07 12:03

שפת תיכנות: PHP

שאלה:
כתבתי קוד אשר אמור להעלות תמונה, ואני מקבל שגיאה על Safe mode, מה הבעיה? ואיך אפשר לפתור אותה?

תשובה:

קודם כל, השגיאה עליה אנו מדברים, היא השגיאה הבאה:
PHP קוד:

Warningmove_uploaded_file() [function.move-uploaded-file]: SAFE MODE Restriction in effect

שגיאה זאת אומרת לנו ש"Safe Mode" בפעולה, כלומר, מודול כלשהו פועל, ובעצם חוסם פעולות "מסוכנות" לשרת.

אנו יכולים לעקוף את המודול על ידי לקיחת תוכן הקובץ שנבחר על ידי המשתמש, ועל ידי הפונקציות: fread,fwrite או כל פונקציה אחרת שקשורה לFile ועושה פעולות דומות לאלו,
לבחור שם לקובץ, וסיומת על ידי פירוק הפרטים של הקובץ שהמשתמש בחר, וליצור קובץ חדש, עם התוכן והפרטים שלקחנו בעזרת הפונקציות הנ"ל.




NitroPHP 01-03-07 20:35

CSS
שאלה: כיצד ניתן לשנות את התמונה שמוצגת כשגוללים את הדף ב-Firefox?
תשובה:
אם אתם רוצים לשנות את התמונה הזאת (רק באתר שלכם כמובן, זה לא ישפיע על אתרים אחרים שהגולש יכנס אליהם), תוכלו לעשות את זה עם טריק CSS קטן.
נתחיל עם הקוד:
קוד:

html > img
{
  width: 0!important;
  height: 28px!important;
  padding-left: 28px!important;
  background: url(URL OF YOUR IMAGE);
}

שימו לב לסלקטור (selector) שיש בקוד - "html > img". הסלקטור הזה מנצל את העובדה שפיירפוקס "מזריק" את תמונת הגלילה למסמך שבו המשתמש צופה, ולכן האתר יכול לשלוט על התמונה. (כי הרי מבחינת הדפדפן תמונת הגלילה נחשבת לחלק מהאתר...)

הנה שתי דוגמאות שהכנתי (ותודה לאתר sitepoint על התמונות):
דוגמה 1
דוגמה 2


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

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