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

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

dor77 13-02-09 16:56

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

PHP קוד:

<"img src="http://www.example.com/images/+$imagename> 

כמובן שלמעלה אני אגדיר את המשתנה למה שיצא מהמסד.

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

תודה ושבת שלום.

בניה 13-02-09 17:05

נראה לי שהכי טוב לך זה יהיה לעשות את זה בצורה הכי פשוטה שאפשר.
מה אתה יודע בPHP?

dor77 13-02-09 23:10

ציטוט:

נכתב במקור על ידי בניה (פרסם 698087)
נראה לי שהכי טוב לך זה יהיה לעשות את זה בצורה הכי פשוטה שאפשר.
מה אתה יודע בPHP?

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

intercooler3819 14-02-09 13:57

תמונה זה טקסט לכל דבר...

DorOaki 14-02-09 14:10

בדיוק, אתה לא שומר את התמונה במסד אלא רק את הכתובת.

dor77 14-02-09 14:13

ציטוט:

נכתב במקור על ידי nitsanbn (פרסם 698174)
תמונה זה טקסט לכל דבר...

ציטוט:

נכתב במקור על ידי DorOaki (פרסם 698179)
בדיוק, אתה לא שומר את התמונה במסד אלא רק את הכתובת.


למי אני אמור להקשיב? חח

איך פועלות המערכות המקצועיות?

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

aviho1 14-02-09 14:24

תשמור את השם של התמונה במסד כמו שרצית לעשות, זאת הדרך הכי טובה.

DorOaki 14-02-09 15:08

ציטוט:

נכתב במקור על ידי dor77 (פרסם 698180)
למי אני אמור להקשיב? חח

איך פועלות המערכות המקצועיות?

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

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

dor77 14-02-09 15:52

ציטוט:

נכתב במקור על ידי DorOaki (פרסם 698186)
אם התבלבלת בין ניצן לביני, אז אמרנו את אותם דברים ( לפי הבנתי, תקן אותי אם טעיתי )
הוא אמר שתמונה היא טקסט לכל דבר, זאת אומרת הכתובת שלה הוא טקסט כמו טקסט רגיל.

לדעתי הוא ייעץ לשמור את התמונה עצמה במסד.

השם שלה זה טקסט לכל דבר, זה נכון.

Shon12 14-02-09 16:36

זה לא משנה אם זה טקסט, גם אם זה טקסט - זה טקסט ששוקל הרבה(יכול להגיע לכמה מאות KB)...
לכן עדיף לשמור את הכתובת.

dor77 14-02-09 16:57

אוקיי, אני אשמור את הכתובת.
אבל כיצד?
אני רוצה שיהיה לי עיון, זה יעלה את התמונה (כי חייב), יקח את הכתובת שלה וישים אותה בעמודה כלשהי בטבלה כלשהי, כך עושים זאת לא?

יש מדריך משהו?

תודה.

Shon12 14-02-09 17:08

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

dor77 14-02-09 17:19

כן, את ההכנסה אני יודע לעשות - INSERT פשוט.
אני אקרא על הפונקציה, אבל היא תעשה את הכל חוץ מההכנסה?
נראה לי גדול מדי על פונקציה אחת.

sholaman 14-02-09 17:21

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

Speed 14-02-09 17:35

עם הפונקציה move_uploaded_file() אתה מעלה את הקובץ שבחרת ב"עיון"..
תקרא עליה קצת, כמו ששון כתב.
משם כבר תוכל לקבל את השם של התמונה
ופשוט תכניס את שם הקובץ למסד.

O-B 14-02-09 17:54

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

dor77 14-02-09 18:12

טוב תראו,
באתר learnphp יש סקריפא של העלאת תמונות.
אני משתמש ב wamp, ושאני מעלה הכל עובד.

זה הסקריפט:

PHP קוד:

<?php 
if (isset($_POST['check_if_press']) && $_POST['check_if_press'] == "send_file")  



    if (!empty(
$_FILES['my_file']['name']))  
    { 
        
$dir getcwd()."/"
        
move_uploaded_file($_FILES['my_file']['tmp_name'] , $dir.$_FILES['my_file']['name']);  
        echo 
"Weldone, You have been uploaded the file."
    } 


?> 

<form action="<?php echo $PHP_SELF?>" method="post" enctype="multipart/form-data">  
    Upload file: <input type="file" name="my_file" /><br /> 
  <input type="submit" name="check_if_press" value="send_file"  /> 
</form>

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

Weldone, You have been uploaded the file. The link:

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

תודה..

DorOaki 14-02-09 18:40

PHP קוד:

<?php  
if ( isset( $_POST['check_if_press']) && $_POST['check_if_press'] == "send_file" )   

{  

    if ( ! empty ( 
$_FILES['my_file']['name'] ) )   
    {  
        
$dir getcwd()."/images/";  
    
$adress "http://blabla.com";
    
$link $adress $_SERVER['PHP_SELF'] . "/images/" $_FILES['my_file']['name'];
        
move_uploaded_file$_FILES['my_file']['tmp_name'] , $dir.$_FILES['my_file']['name'] );   
        echo 
"Weldone, You have been uploaded the file. The link : " $link;  
    }  

}  
?>  

<form action="<?php echo $PHP_SELF?>" method="post" enctype="multipart/form-data">   
    Upload file: <input type="file" name="my_file" /><br />  
  <input type="submit" name="check_if_press" value="send_file"  />  
</form>

תהנה..דרך מסורבלת אבל זה הקוד שהבאת..

intercooler3819 14-02-09 19:08

ציטוט:

נכתב במקור על ידי DorOaki (פרסם 698179)
בדיוק, אתה לא שומר את התמונה במסד אלא רק את הכתובת.

לא חח
תמונה היא טקסט לכל דבר גם התמונה עצמה זה טקסט
תפתח קובץ JPG בNOTEPAD ואתה מוזמן להציץ בתוכנו...
לכל הקטע הבינארי הזה אתה יכול להריץ BASE64 ולאחסן במסד כBLOB לכל דבר..

בהצלחה

בניה 14-02-09 20:02

ציטוט:

נכתב במקור על ידי nitsanbn (פרסם 698225)
לא חח
תמונה היא טקסט לכל דבר גם התמונה עצמה זה טקסט
תפתח קובץ JPG בNOTEPAD ואתה מוזמן להציץ בתוכנו...
לכל הקטע הבינארי הזה אתה יכול להריץ BASE64 ולאחסן במסד כBLOB לכל דבר..

בהצלחה

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

dor77 14-02-09 22:15

תודה לכולם.
אני עכשיו ילמד בדיוק איך המערכת עובדת..להעתיק מאחרים לא מלמד אותי..

תודה רבה לכולם..


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

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