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

הוסטס - פורום אחסון האתרים הגדול בישראל (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 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 כדי לשמור את המידע בתא שמוגדר בינארי.


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

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