Ho bisogno di caricare lo stesso file in 2 diversi posti nello stesso FTP. C'è un modo per copiare il file sull'FTP nell'altro posto invece di caricarlo di nuovo? Grazie.FTP copia un file in un altro posto nello stesso FTP
risposta
Non penso che ci sia un modo per copiare i file senza scaricare e ricaricare, almeno non ho trovato nulla di simile nel List of FTP commands e nessun client che ho visto finora supportato qualcosa di simile.
Sì, lo stesso protocollo FTP può supportarlo in teoria. Lo FTP RFC 959 ne parla nella sezione 5.2 (vedere il paragrafo che inizia con "Quando i dati devono essere trasferiti tra due server, A e B ..."). Tuttavia, non conosco nessun client che offre questo tipo di operazione di controllo a doppio server.
Si noti che questo metodo potrebbe trasferire il file dal server FTP a se stesso utilizzando la propria rete, che non sarà veloce come una copia di file locale, ma sarebbe quasi certamente più veloce del download e quindi di nuovo caricamento del file.
Sono riuscito a farlo utilizzando WebDrive per montare il ftp come cartella locale, quindi "scaricare" i file utilizzando filezilla direttamente nella cartella. È stato un po 'più lento del download normalmente, ma non è necessario avere lo spazio sul tuo hdd.
Penso che scaricherà il file temporaneamente sul tuo computer e lo caricherà immediatamente sul tuo webdrive. Sospetto che tu abbia ancora bisogno di uno spazio su disco adeguato per riuscirci. –
È possibile rinominare il file da copiare nel percorso completo del risultato desiderato.
Ad esempio: Se si desidera spostare il file "file.txt" nella cartella "NewFolder" è possibile scrivere come
ftp> rename file.txt NewFolder/file.txt
Questo ha funzionato per me.
Manca il punto della domanda - OP esplicitamente chiesto di * copiare *, non di * spostare * – codeling
Posso copiare i file tra le cartelle remote nei sistemi basati su Linux. Nel mio caso particolare, sto usando molto comune PCManFM file manager:
- menu "Vai" -> "Connessione al server" informazioni
- Login FTP, ecc
- Apri nuova scheda in PCManFM
- Connettersi al server stesso
- Copia da una scheda all'altra ...
e 'un po' lento, quindi credo che potrebbe essere download e l'upload di nuovo il file, ma è fatto automaticamente e molto user-friendly.
Non esiste un modo standard per duplicare un file remoto tramite il protocollo FTP. Tuttavia, alcuni server FTP supportano estensioni proprietarie o non standard.
Alcuni client FTP supportano la duplicazione file remoto. O utilizzando le estensioni o tramite una copia locale temporanea del file remoto.
Ad esempio WinSCP FTP client fa support the duplication utilizzando sia trascinamento & drop e comando/tastiera:
- supporta l'estensione FTP
SITE CPFR
/CPTO
(supportato per esempio dal ProFTPD mod_copy module) - Si ricade un duplicazione automatica tramite una copia temporanea locale, se l'estensione sopra non è disponibile.
(io sono l'autore di WinSCP)
Un'altra soluzione è quella di aprire una seconda connessione al server FTP e rendere il server caricare il file su se stesso convogliando una modalità passiva connessione dati a una connessione dati in modalità attiva. Questa soluzione è mostrata nello answer by @SaadAchemlal.
Vorrei ringraziarvi per lo straordinario strumento che è WinSCP. – Fatih
È possibile eseguire questa operazione da C-Panel.
- Accedi al tuo C-Panel.
- Accedi al file manager.
- Trova il file o la cartella che si desidera duplicare.
- Fare clic con il tasto destro e scegliere Copia.
- Inserire il nuovo regista su cui si desidera copiare.
Fatto!
1) non lasciare una "firma" nel tuo post, è lì che il tuo profilo è per 2) C-Panel è disponibile solo in casi molto specifici. – Glorfindel
Il codice seguente consente al server FTP di caricare il file su se stesso (utilizzando la connessione loopback). Ha bisogno del server FTP per consentire sia la modalità di connessione passiva che quella attiva.
Se si vuole comprendere i comandi FTP: ecco un elenco di loro: List of ftp commands
function copyFile($filePath, $newFilePath)
{
$ftp1 = ftp_connect('192.168.1.1');
$ftp2 = ftp_connect('192.168.1.1');
ftp_raw($ftp1, "USER ftpUsername");
ftp_raw($ftp1, "PASS mypassword");
ftp_raw($ftp2, "USER ftpUsername");
ftp_raw($ftp2, "PASS mypassword");
$res = ftp_raw($ftp2, "PASV");
$addressAndPort = substr($res[0], strpos($res[0], '(') + 1);
$addressAndPort = substr($addressAndPort, 0, strpos($addressAndPort, ')'));
ftp_raw($ftp1, "CWD ." . dirname($newFilePath));
ftp_raw($ftp2, "CWD ." . dirname($filePath));
ftp_raw($ftp1, "PORT ".$addressAndPort);
ftp_raw($ftp1, "STOR " . basename($newFilePath));
ftp_raw($ftp2, "RETR " . basename($filePath));
ftp_raw($ftp1, "QUIT");
ftp_raw($ftp2, "QUIT");
}
@MartinPrikryl Beh, lascia che ti dica che funziona perché uso questo personale su un Synology Nas. Inoltre risponde alla domanda perché devi solo caricare il tuo file sul ftp una volta e usare la mia funzione per copiarlo dove vuoi senza caricarlo di nuovo. La prossima volta prova a testare una soluzione prima di dire che non funzionerà :) –
Scusa, hai ragione, non ho letto attentamente il codice. Anche se la prossima volta, includi alcune spiegazioni nei tuoi post, per evitare confusione. +1 + Ho collegato la tua risposta dalla mia. –
Proverò a spiegare di più la prossima volta. Grazie per la modifica;) –
- 1. Come spostare un file sul server FTP remoto in una directory sullo stesso server FTP utilizzando Net :: FTP nello script ruby
- 2. Carica file su ftp
- 3. E 'possibile caricare file da FTP a FTP utilizzando PHP
- 4. caricare su ftp asp.net
- 5. Carica più file FTP
- 6. Come copiare un file su un server FTP?
- 7. Creazione di GHC su FTP pre-FTP
- 8. eliminazione di file da FTP in C#
- 9. scarica l'ultimo file da ftp
- 10. Errore caricamento file FTP Java
- 11. AWS EC2 FTP/HTML
- 12. Push sottocartella a ftp utilizzando git-ftp
- 13. In FTP, come si copia un file remoto in altre directory
- 14. Caratteri speciali nei file FTP
- 15. File di elenco FTP URLConnection
- 16. Java: accesso a un file da un server FTP
- 17. Come copiare un file sul server ftp in una directory sullo stesso server in java?
- 18. Ottieni dimensioni file su un FTP in C#
- 19. Carica un file con la codifica tramite FTP in C#
- 20. In Mercurial, posso applicare le modifiche da un file a un altro file nello stesso ramo?
- 21. Determina se un elenco è una directory o un file in Python su FTP
- 22. Copia tutte le directory sul server tramite FTP utilizzando Java
- 23. Caricamento FTP tramite .NET
- 24. Caricamento HTTP vs FTP
- 25. Come utilizzare FTP in Flex?
- 26. FTP FTP ftp_nlist non funziona, restituendo booleano false
- 27. Python FTP per iPad
- 28. PhpStorm, sulla sincronizzazione ftp
- 29. Come determinare se un file viene ancora trasferito via ftp
- 30. Download di tutti i file da un server FTP
Mi chiedo se è stato utilizzato questo e specificato localhost se si potrebbe ottenere intorno a quel collo di bottiglia minore. Anche così, dobbiamo considerare che molti server FTP bloccano FXP (noto anche come trasferimenti da server a server) a causa di "attacchi di rimbalzo FTP". Ma un server FTP intelligente non lo bloccherà per localhost. Tuttavia, potrebbe semplicemente bloccare tutti gli FXP. – SilentSteel