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

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

tal13579 01-10-09 23:03

שאלה לגבי איכסון.
 
תשמעו אני כבר שבוע מנסה להעלות משהו לשרת הftp דרך הפונקציה
ftp_put אך לא יוצא לי.. אני בטחב99% אחוז שאין שום בעיה בקוד
או בתקיות כי הקוד הוא קליל בעל כמה שורות.
ורציתי לשאול שאולי בעל האיכסון ביטל את אפשרות זו
מחשש יפתחו אתרים שיחסית מעמיסים על השרת כגון:אתרי העלאות למיניהם?
תודה.

אדיר 02-10-09 03:08

תראה את הקוד..

דניאל 02-10-09 03:49

אם לא מופיע לך הודעה שגיאה שדומה ל:
the function XXXXX has been disabled by..

אז היא לא חסומה ברמת השרת.

tal13579 02-10-09 08:06

הנה הקוד:
PHP קוד:

 <form
                 enctype="multipart/form-data"
                 method="post">
                 <input name="img" type="file"> <span>עיון תמונה:</span><br />
                 <input type="submit" value="שלח תמונה" />
                 
                </form>
                <?php
                
if(isset($_FILES['img']))
                {
                
$img $_FILES['img'];
                
                
$connect ftp_connect("XXX");
                
$result ftp_login($connect"XXX""XXX");
                if(!
result)
                {
                echo 
"couldnt connect";
                die;
                }    

                
                
                if (
ftp_chdir($connect"/XXX.co.il/XXX/")) {
                echo 
"Current directory is now: " .ftp_pwd($connect). "\n";
                } else { 
                echo 
"Couldn't change directory\n";
                    }
                
                if (
ftp_put($connect$img$imgFTP_BINARY)) {
                echo 
"successfully uploaded $file\n";
                    } else {
                echo 
"There was a problem while uploading $img\n";
                    }
                
                


                }
                
                
?>

הוא מחזיר שהוא מצליח לשנות תקיה אך הוא אומר שהיה בעיה בהעלאת "array".

sholaman 02-10-09 12:28

יש לך טעות בקוד.

המערך:
PHP קוד:

$_FILES['img'

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

יש לך את:

PHP קוד:

$_FILES['img']['name'] = שם הקובץ כפי שהופיע במחשב של הלקוח
$_FILES
['img']['tmp_name'] = הקובץ הזמני שנמצא פיזית על השרת ואותו אתה צריך לשלוח לאפטיפי
$_FILES
['img']['size'] = גודל הקובץ
$_FILES
['img']['type'] = סוג הקובץ 

אתה יכול לעשות ככה:
PHP קוד:

ftp_put($connect$_FILES['img']['name'], $_FILES['img']['tmp_name'], FTP_BINARY

אבל השאלה אם אתה באמת צריך לשלוח את הקובץ בFTP?!?
כי הקובץ כבר נמצא לך על השרת ככה שאתה צריך רק להעתיק אותו למיקום שאתה רוצה בעזרת הפונקציה: move_uploaded_file
אין טעם שהלקוח יעלה את הקובץ לשרת ואז השרת יעלה את הקובץ לעצמו עוד הפעם...
אל תשכח שPHP זאת שפה שרצה על השרת ולא אצל הלקוח...

FTP זה יותר אם יש לך קובץ על השרת ואתה רוצה להעביר אותו לשרת אחר...

בהצלחה |Lol|

tal13579 02-10-09 12:56

עשיתי כמו שאמרתי לי ומשום מה זה עבד לי פעם אחת בלבד..
יש פה גם טעות??!
PHP קוד:

move_uploaded_file($_FILES['img']['tmp_name'], "/XXX/XXX/XXX"); 


AlmogBaku 02-10-09 13:57

ציטוט:

נכתב במקור על ידי tal13579 (פרסם 740461)
עשיתי כמו שאמרתי לי ומשום מה זה עבד לי פעם אחת בלבד..
יש פה גם טעות??!
PHP קוד:

move_uploaded_file($_FILES['img']['tmp_name'], "/XXX/XXX/XXX"); 


לא.

ולמה לכל הרוחות אתה מצנזר כל דבר?! תצנזר רק את הסיסמא והיוזר זה יספיק.

tal13579 02-10-09 15:09

אוקיי אז יש בעיה?
PHP קוד:

                <?php
                
if(isset($_FILES['img']))
                {
    
                
$move =  move_uploaded_file($_FILES['img']['tmp_name'], "/xxx/"); 
                 if (
$move == false) {echo "טעות בהעלאת הקובץ.";};

                
                


                }
                
                
?>

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

sholaman 02-10-09 16:29

ציטוט:

נכתב במקור על ידי tal13579 (פרסם 740461)
עשיתי כמו שאמרתי לי ומשום מה זה עבד לי פעם אחת בלבד..
יש פה גם טעות??!
PHP קוד:

move_uploaded_file($_FILES['img']['tmp_name'], "/XXX/XXX/XXX"); 


PHP קוד:

move_uploaded_file($_FILES['img']['tmp_name'], "/XXX/XXX/XXX/" $_FILES['img']['name']); 


tal13579 02-10-09 16:59

ציטוט:

נכתב במקור על ידי sholaman (פרסם 740508)
PHP קוד:

move_uploaded_file($_FILES['img']['tmp_name'], "/XXX/XXX/XXX/" $_FILES['img']['name']); 


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


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

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