webForumDet fria alternativet

ftp_put

PHP

13 svar · 866 visningar · startad av zlasher

Medlem sedan okt. 2001157 inlägg
Frågan#1

Halloj!
Har lite problem med ftp_put.
Jag har ett uploadscript som fungerar bra om det körs från min dator lokalt och laddar upp till en ftp.

Dock fungerar det inte när jag testar att köra den från en webserver... Vad beror detta på? Jag loggas in på ftpservern men

ftp_put($conn_id, $destination_file, $local_file, FTP_BINARY);

utförs aldrig korrekt.

Tacksam för hjälp!

Medlem sedan aug. 20039 340 inlägg
#2

Kör echo på $destination_file och $local_file, och kolla vad de faktiskt innehåller.

Medlem sedan okt. 2001157 inlägg
#3

Verkar inte vara några konstigheter...
Har gjort en funktion för att få ett unikt namn på destination_file och jag får detta resultat vid echo:

$destination_file = 467901001204041782.jpg
$local_file = C:\WINDOWS\TEMP\php1C6.tmp

any clue?

Medlem sedan aug. 20039 340 inlägg
#4

En gissning är att ftp_put ev vill ha forward-slashar, typ C:/WINDOWS/TEMP/php1C6.tmp eller kanske /C/WINDOWS/TEMP/php1C6.tmp

Medlem sedan okt. 2001157 inlägg
#5

Tyvärr.
Ersatte alla \ med / så sökvägen blev C:/WINDOWS/TEMP/... och testade även med /C/... utan framgång... Samma fel vid raden ftp_put.

Kan ftp_put vara disabled?
Testade att skriva endast ftp_put(); och fick lokalt felmeddelandet

Warning:  ftp_put() expects at least 4 parameters, 0 given in C:\xampp\htdocs\ias.nu\newfileupload.php on line 3

medan jag -när jag körde samma rad på webservern- inte fick något felmeddelande alls.
Beror det på att webservern inte visar felmeddelanden eller kan det vara inaktiverat?

ftp_get fungerar inte heller. Det funkar klockrent när jag kör lokalt...

Går det överhuvudtaget att göra en sida som skickar en fil från sin dator till en ftpserver med hjälp av ett script som ligger på en hemsida någon helt annanstans?

Medlem sedan juni 20014 421 inlägg
#6

nej. ftp_put utgår från att $local_file = C:\WINDOWS\TEMP\php1C6.tmp pekar på motsvarande ställe på servern. Det vore dessutom en enorm sökerhetsrisk om det gick.

Medlem sedan okt. 2001157 inlägg
#7

Right. Ok. Tack. Så...vad anser du att jag ska göra?

Medlem sedan juni 20014 421 inlägg
#8

Att du laddar upp filen via vanlig <input type="file"> till berörd server.

Medlem sedan okt. 2001157 inlägg
#9

Okay. Är det bara att glömma att försöka göra detta och sikta in mig på att använda utrymmet på servern där phpfilen ligger istället?

Medlem sedan aug. 20039 340 inlägg
#10

Pröva att använda denna kod och se vad som händer:

ftp_put($conn_id, "./" . $destination_file, $local_file, FTP_BINARY);

Jag ger inga garantier, men det kan funka.

Medlem sedan juni 20014 421 inlägg
#11

zlasher skrev:

Okay. Är det bara att glömma att försöka göra detta och sikta in mig på att använda utrymmet på servern där phpfilen ligger istället?

Precis. Du kan inte ladda upp lokalt från din burk med ett php kommando på en server som står någon annanstans.

nitro2k01 skrev:

Pröva att använda denna kod och se vad som händer:

ftp_put($conn_id, "./" . $destination_file, $local_file, FTP_BINARY);

Jag ger inga garantier, men det kan funka.

Hur skall detta kunna hämta en fil från den burkan han för tillfället sitter på om när han besöker den sidan på internet?

Medlem sedan aug. 20039 340 inlägg
#12

colione skrev:

Hur skall detta kunna hämta en fil från den burkan han för tillfället sitter på om när han besöker den sidan på internet?

:q
Som jag har fattat det så laddar han upp en fil med ett upload-formulär (Då hamnar filerna i en temp-katalog som i hans andra svar) sedan vill han aldda upp det via ftp till en tredje burk någon helt annanstans.
zlasher kanske försöker ladda upp en fil till sitt eget konto över FTP? Isf så bör du nog kolla på move_uploaded_file.

Medlem sedan juni 20014 421 inlägg
#13

nitro2k01 skrev:

:q
Som jag har fattat det så laddar han upp en fil med ett upload-formulär (Då hamnar filerna i en temp-katalog som i hans andra svar) sedan vill han aldda upp det via ftp till en tredje burk någon helt annanstans.
zlasher kanske försöker ladda upp en fil till sitt eget konto över FTP? Isf så bör du nog kolla på move_uploaded_file.

Jag uppfattade följande mening som om han försökte få servern att ladda upp en fil från hans dator till en annan server, på en gång:

zlasher skrev:

Går det överhuvudtaget att göra en sida som skickar en fil från sin dator till en ftpserver med hjälp av ett script som ligger på en hemsida någon helt annanstans?

Medlem sedan okt. 2001157 inlägg
#14

Här händer det grejer... :)

Så här är det:
Jag har skapat ett administrationsverktyg på en sida som ligger på server A.
Förutom server A så har jag en egen ftpserver B där jag helst skulle se att alla filer som laddas upp genom administrationsverktyget på server A hamnade.

Alltså vill jag att man ska kunna ladda upp en fil från sin egen burk till slutligen ftpserver B. Filen (och formuläret) där uppladdningsscriptet är befinner sig på server A och jag vill att server A ska hämta filen från burken, lagra filen temporärt för att sedan skicka över den till ftpserver B genom att logga in där med mitt användarnamn.

Är detta möjligt?
Det borde väl funka om jag kör move_uploaded_file(); först och lagrar den på A och sedan skickar vidare den som local_file via ftp_put till B? När det gjorts kan jag ta bort den från A.

Edit: Det går men det tar såklart dubbelt så lång tid...

262 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)