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

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



  #3  
ישן 29-03-2005, 16:55
צלמית המשתמש של fat fish
  fat fish fat fish אינו מחובר  
 
חבר מתאריך: 20.06.03
הודעות: 5,616
דקל....אני מתפלא עליך...
בתגובה להודעה מספר 2 שנכתבה על ידי דקל שמתחילה ב "[font=Arial]כל מה שקשור..."

שאני נאלץ לתקן אותך ב-PHP.

1. כן משתמשים ב-copy להעלאת קבצים, אני בעצמי בחנתי הרבה מערכות שהשתמשו בפונקציה זו (אני אישית משתמש move_uploaded_file ) אבל לומר שלא משתמשים זה לא נכון.

2. כדי לבדוק אם הקובץ נשלח (בוצע post לקובץ), לא נבצע בדיקה:
קוד PHP:
 if($_POST["file"]) 

(אני לא מבין למה השימוש ב-!, למעשה התנאי שלך הפוך)

אלא נבצע בדיקה אחרת לגבי:
קוד PHP:
 $_FILE 


בכל מקרה, הנה דוגמה ל-move_upload_file:
קוד PHP:
<?php
// In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
// of $_FILES.

$uploaddir '/var/www/uploads/';
$uploadfile $uploaddir basename($_FILES['userfile']['name']);

echo 
'<pre>';
if (
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
   echo 
"File is valid, and was successfully uploaded.\n";
} else {
   echo 
"Possible file upload attack!\n";
}

echo 
'Here is some more debugging info:';
print_r($_FILES);

print 
"</pre>";

?>


ניתן למצא פה את כל המידע על העלאת קבצים ב-PHP (כולל בעזרת copy)
http://il.php.net/manual/en/features.file-upload.php

_____________________________________
[ זיו ]
[ fat fish ]

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #9  
ישן 31-03-2005, 12:24
  דקל דקל אינו מחובר  
 
חבר מתאריך: 20.02.03
הודעות: 2,396
לא כל כך ברור לי מה אתה מתפלא :)
בתגובה להודעה מספר 3 שנכתבה על ידי fat fish שמתחילה ב "דקל....אני מתפלא עליך..."

דבר ראשון - כולם טועים. להיות תמיד צודק זה קצת משעמם... אתה לא חושב ?
בנוגע להתעסקות עם copy. יש המון דרכים לעשות כל מיני דברים... חלק מהדרכים מוצלחות יותר, וחלק פחות. זה ש copy עובד זה עדיין לא אומר שזאת הדרך המוצלחת ביותר לעשות את מה שהוא צריך (ובמקרה הזה דווקא השימוש ב move_uploaded_file זאת הדרך הנכונה כיוון שהיא מבצעת עוד בדיקות בנוגע לקובץ המקור שנמצא בתיקיה temp).
דבר שני - אני אנצל את התגובה הזה בשביל להגיב לטל (מקווה שזה לא יעשה בלאגן )
אז ככה טל:
1) השתמשת בטופס בשם file לשם הקובץ, ואח"כ אתה מנסה לקחת את הנתונים של userfile. אתה צריך להיות החלטי
2) הפונקציה move_uploaded_file מקבלת כערך ראשון את ['FILES['userfile']['tmp_name_$ ולא שום דבר אחר (שים לב שיש לך דוגמא בלינקים שנתתי), וכפרמטר שני את השם החדש של הקובץ החדש שאתה רוצה ליצור בשרת (כולל נתיב מלא).
קרא שוב את המניואל... הכל רשום שם.

בברכה, דקל
_____________________________________
"מתכנת זה אדם שפותר בעיה שעל קיומה לא ידעת, בדרך שאינך מבין"

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #11  
ישן 31-03-2005, 13:21
  דקל דקל אינו מחובר  
 
חבר מתאריך: 20.02.03
הודעות: 2,396
בתגובה להודעה מספר 10 שנכתבה על ידי -TAL- שמתחילה ב "1. אההה... השם של התיבה אמור..."

אז ככה. המשתנה הגלובאלי FILES_$ מכיל את הנתונים על הקבצים שאתה מעלה בטופס.
עבור כל אחד מהקבצים שהועלה נוצר לך מערך חדש ב FILES_$ שהשם שלו הוא ['FILES['userfile_$. מערך זה מכיל מספר פרמטרים על הקובץ שהעלית:
ציטוט:
במקור נכתב על ידי php.net
$_FILES['userfile']['name']
The original name of the file on the client machine.

$_FILES['userfile']['type']
The mime type of the file, if the browser provided this information. An example would be "image/gif".

$_FILES['userfile']['size']
The size, in bytes, of the uploaded file.

$_FILES['userfile']['tmp_name']
The temporary filename of the file in which the uploaded file was stored on the server.

$_FILES['userfile']['error']
The error code associated with this file upload. This element was added in PHP 4.2.0

לדעתי זה דיי מובן (וזה גם רשום לך בלינק שנתתי לך בהתחלה).

בברכה, דקל
_____________________________________
"מתכנת זה אדם שפותר בעיה שעל קיומה לא ידעת, בדרך שאינך מבין"

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #12  
ישן 01-04-2005, 06:29
  -TAL- -TAL- אינו מחובר  
 
חבר מתאריך: 23.10.04
הודעות: 299
את זה בדיוק קראתי, אבל אני לא בטוח שהבנתי את הכל,
בתגובה להודעה מספר 11 שנכתבה על ידי דקל שמתחילה ב "אז ככה. המשתנה הגלובאלי..."

קוד PHP:
 $_FILES['userfile']['name'

userfile - השם שנתתי לשדה ההעלאה בטופס.
name - משאירים את זה ריק... שם הקובץ של המשתמש שהעלה.

קוד PHP:
 $_FILES['userfile']['type'

userfile - השם שנתתי לשדה ההעלאה בטופס.
type - סוג הקובץ. אני מגדיר את זה כך? /gif/jpg/png/

קוד PHP:
 $_FILES['userfile']['size'

userfile - השם שנתתי לשדה ההעלאה בטופס.
size - גודל הקובץ בביטים.

קוד PHP:
 $_FILES['userfile']['tmp_name'

userfile - השם שנתתי לשדה ההעלאה בטופס.
tmp_name - אני לא בטוח בנוגע לזה... זמן הקובץ על השרת?

הודעת השגיאה לא ניראת לי כל-כך חשובה, לכן אני לא אציין אותה.

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

*מצטער שאני ככה מפרט על כל דבר, פשוט אין לי אנגלית ברמה ממש גבוהה. ואני רוצה לדעת בבטחה שאני מבין הכל.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #13  
ישן 01-04-2005, 13:33
  Fixxxer Fixxxer אינו מחובר  
 
חבר מתאריך: 21.09.02
הודעות: 408
בתגובה להודעה מספר 12 שנכתבה על ידי -TAL- שמתחילה ב "את זה בדיוק קראתי, אבל אני לא בטוח שהבנתי את הכל,"

אוקיי.. אז ככה:
name מחזיר לך את השם של הקובץ אותו המשתמש העלה.
tmp_name מחזיר לך את השם של הקובץ הזמני אשר הועלה.

כאשר אתה מעלה קובץ באמצעות טופס מה שהוא עושה זה שומר את הקובץ הזה ונותן לו שם זמני, לא את השם המקורי שלו מכיוון שמידה והיו מועלים כמה קבצים עם אותו שם זה היה יוצר הרבה בעיות, ומעבר לזה, זה גם לא כל כך בטיחותי.
מה שאתה צריך לעשות, בתור המתכנת, הוא להעתיק את הקובץ הזמני למיקום החדש בו אתה רוצה אותו, ולתת לו שם אחר. במידה ואתה רוצה לתת לו את השם המקורי שלו, אתה תשתמש בנתון name, ובמידה ולא, תעשה מה שבראש שלך.
הדרך שימוש אמורה ללכת ככה:
קוד PHP:
 move_uploaded_file($_FILES['fupload']['tmp_name'], $dir $_FILES['fupload']['name']); 

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

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

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

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

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



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

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

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

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