zlasherMedlem sedan okt. 2001162 inlägg
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!
nitro2k01Medlem sedan aug. 20037 630 inlägg
Kör echo på $destination_file och $local_file, och kolla vad de faktiskt innehåller.
zlasherMedlem sedan okt. 2001162 inlägg
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?
nitro2k01Medlem sedan aug. 20037 630 inlägg
En gissning är att ftp_put ev vill ha forward-slashar, typ C:/WINDOWS/TEMP/php1C6.tmp eller kanske /C/WINDOWS/TEMP/php1C6.tmp
zlasherMedlem sedan okt. 2001162 inlägg
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?
colioneMedlem sedan juni 20013 386 inlägg
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.
zlasherMedlem sedan okt. 2001162 inlägg
Right. Ok. Tack. Så...vad anser du att jag ska göra?
colioneMedlem sedan juni 20013 386 inlägg
Att du laddar upp filen via vanlig <input type="file"> till berörd server.
zlasherMedlem sedan okt. 2001162 inlägg
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?
nitro2k01Medlem sedan aug. 20037 630 inlägg
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.
colioneMedlem sedan juni 20013 386 inlägg
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?
nitro2k01Medlem sedan aug. 20037 630 inlägg
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.
colioneMedlem sedan juni 20013 386 inlägg
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?
zlasherMedlem sedan okt. 2001162 inlägg
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...