Mam skrypt na moim serwerze i chcę, aby ten skrypt tworzył plik na innym serwerze z mojego serwera za pomocą PHP, a NIE FTP?Tworzenie pliku na innym serwerze przy użyciu funkcjonalności pliku PHP
Odpowiedz
Istnieje wiele sposobów, aby to zrobić. wybiorę pierwszy sobie, bo to najłatwiej skonfigurować:
- Jeśli masz PHP + Apache na innym serwerze, wystarczy zadzwonić jakiś skrypt na innym serwerze za pomocą file_get_contents z http URL as filename lub jeśli używasz cURL trzeba również POST.
- Jeśli serwery znajdują się w tej samej sieci lokalnej (LAN, VPN), można użyć akcji Windows/Samba lub NFS zamontować zdalny katalog do ciebie lokalnego systemu plików i po prostu zapisać do pliku bezpośrednio za pomocą fopen/funkcje fwrite
- Zastosowanie SSH poprzez SCP lub SFTP
Ogólnie rzecz biorąc, FTP jest jedynym regularnym i łatwo dostępnym sposobem (w PHP) do utworzenia pliku na innym serwerze.
Istnieją oczywiście inne protokoły, które pozwalają utworzyć plik, ale wszystkie one wymagają instalacji oprogramowania na jednym lub obu serwerach:
- Samba (by umożliwić dostęp do zdalnego serwera poprzez absolutną ścieżka do pliku)
- WebDaV (biblioteki PHP client)
- SCP (Znalezienie klienta PHP jest prawdopodobnie będzie ciężko)
Jeśli oba serwery uruchamiają PHP, prawdopodobnie najłatwiej jest ustawić skrypt PHP na serwerze zdalnym, który akceptuje dane pliku przez POST i zapisuje go do lokalnego pliku. Nie jest to jednak doskonałe rozwiązanie ze względu na ograniczenia zwykle nakładane na pliki POST.
Nie chodzi o mnie, ale PHP wspiera SCP za pomocą SSH - zobacz moją odpowiedź na linki. –
@Andy dobrze wiedzieć, okrzyki. –
Ogólnie rzecz biorąc, FTP nie jest tak naprawdę dostępny wszędzie i stanowi ogromną lukę w zabezpieczeniach. Wszystkie inne rozwiązania, o których wspomniałeś, przewyższają ją. Zastanawiam się również, dlaczego uważasz, że post HTTP nie jest zorientowany na wydajność, gdy ma najmniejszy wpływ na wszystkie inne rozwiązania? –
PHP umożliwia wysyłanie plików przez SSH - patrz rodzina funkcji ssh2 *, w szczególności ssh2_scp_send i ssh2_scp_recv.
Nigdy ich nie używałem, ale infrastruktura jest dostępna w systemie Linux, podobnie jak SMB w systemie Windows.
można zawsze używać DAV, ale może wymagać pewnej konfiguracji na serwerze odbiorczym. Istnieje również SSHFS, który pozwala łatwo zainstalować lokalny katalog zdalny w tunelu SSH lub po prostu użyć rodziny funkcji ssh2_ * jako Andy Shellam suggested.
Naprawdę, istnieje wiele sposobów, aby to osiągnąć.
- 1. Tworzenie pliku przy użyciu Makefile
- 2. DENY bezpośrednie pobranie pliku przy użyciu php
- 3. Tworzenie pliku zip przy użyciu klasy PHP ZipArchive bez zapisywania pliku na dysk?
- 4. Sprawdzanie istnienia pliku na zdalnym serwerze SSH przy użyciu Pythona
- 5. Tworzenie pliku wykonywalnego .jar przy użyciu Intellij
- 6. Android: Tworzenie pliku przy użyciu metody createNewFile()
- 7. Tworzenie nowego pliku tekstowego przy użyciu heredoc
- 8. Wywoływanie pliku PHP przy użyciu AJAX
- 9. IIS7 Tworzenie wirtualnego katalogu do plików na innym serwerze
- 10. Tworzenie pliku csv z php
- 11. Tworzenie linku pobierania do pliku na serwerze plików
- 12. Generowanie pliku XML przy użyciu pliku XSD
- 13. Wyświetlanie pliku PDF na stronie internetowej przy użyciu pliku pdf.js
- 14. Tworzenie pliku .zip
- 15. TimeStamp na nazwę pliku przy użyciu PowerShell
- 16. Tworzenie pliku Mac .app w systemie Windows przy użyciu Mono
- 17. Tworzenie pliku PDF z ramką Div przy użyciu jspdf
- 18. Użyj pliku .htaccess na serwerze localhost apache
- 19. Tworzenie pliku w systemie Linux przy użyciu C
- 20. TWORZENIE BAZY DANYCH przy użyciu pliku w domyślnej ścieżce
- 21. PHP - Przeniesienie pliku do innego folderu na serwerze
- 22. tworzenie pliku XML przy użyciu XDocument w C#
- 23. Tworzenie ruchomego płaskiego pliku dziennika przy użyciu biblioteki Enterprise
- 24. tworzenie domyślnej bazy danych w mysql przy użyciu pliku dokowanego
- 25. powtarzanie pliku przy użyciu Pythona
- 26. Phantomjs przy użyciu lokalnego pliku z page.includeJs?
- 27. Titanium Tworzenie pliku obrazu: file.write (blob) nie tworzenie poprawnego pliku
- 28. Tworzenie wielu tabel MySQL przy użyciu PHP
- 29. Zapisywanie pliku przy użyciu Greasemonkey
- 30. Pobieranie pliku przy użyciu selenu
Co to za serwery? Jaka platforma? –
Oba są Centami – Roland