Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Edycja zdalnego pliku
Forum PHP.pl > Forum > Przedszkole
mlody69
Witam,
mam problem z edycją danych które sa na innym serwerze ftp.
Mianowicie wygląda to teraz tak że zawartośc zdalnego pliku jest ładowana do jakiegoś na lokalnym, wczytywana na www, edytowana, zapisywana, wysyłana na serwer i plik jest usuwany.
Kod wygląda tak:
  1. // sciezki do plikw
  2. $plik_zdalny = 'a.txt';
  3. $plik_lokalny = 'dsFFAanjd&&-232176xDa.txt';
  4. // otwarcie pliku do zapisu
  5. $uchwyt = fopen($plik_lokalny, 'r+,w');
  6. $conn=ftp_connect($cfg['host']) or die ("Nie mozna polaczyc z " .$cfg['host']);
  7.  
  8. $login=ftp_login($conn, $cfg['user'], $cfg['pass']);
  9.  
  10. if(ftp_chdir($conn, $cfg['dir']))
  11. print '';
  12. else
  13. {
  14. print 'Nie mozna przejsc do '. $cfg['dir'] . "\n";
  15. }
  16. // prba pobrania $plik_zdalny i zapisania go do $plik_lokalny
  17. ftp_get($conn, $plik_lokalny, $plik_zdalny, FTP_BINARY);
  18. // usuwanie
  19. if(isset($_GET['usun'])) {
  20. $plik = $plik_lokalny;
  21. $file = file($plik);
  22. $wpis = $file[$_GET['usun']];
  23. $all = file_get_contents($plik);
  24. $all = str_replace($wpis, '', $all);
  25. file_put_contents($plik, $all);
  26. ftp_put($conn, $plik_zdalny, $plik_lokalny, FTP_ASCII);
  27. unlink($plik_lokalny);
  28. header("Location: panel.php");
  29. }

Problem jest taki że odczytuje ale nie wysyła zmodyfikowanego na zdalny serwer. Można ta operację jakoś usprawnić lub zapisać w lepszy, wydajniejszy sposób?

Pozdrawiam i liczę na pomoc.

Jest ktoś w stanie mi pomóc? Sprawa jest pilna.
zend
Czy użytkownik za pomocą którego się łączysz ma prawa do edycji?
mlody69
Tak
zend
Czy skrypt wysyła starą wersję pliku na serwer? Możliwe że to kwestia buforu w php
mlody69
Własnie chyba nie wysyła bo wartosci są ciagle te same. Ma ktoś jakieś propozycje co do usprawnienia kodu?
zend
Spróbuj tworzyć plik o losowej nazwie, do niego zapisuj dane, wysyłaj, a potem usuń.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.