Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Edycja Pliku przez połączenie ftp
Forum PHP.pl > Forum > PHP
miras
Witam, naskrobałem coś takiego:

  1. <?php
  2. $ftp_user_name=x;
  3. $ftp_user_pass=x;
  4. $ftp_server="x;
  5.  
  6. // ustaw podstawowe połączenie
  7. $conn_id = ftp_connect($ftp_server);
  8.  
  9. // zaloguj się nazwą użytkownika i hasłem
  10. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  11.  
  12. // sprawdź połączenie
  13. if ((!$conn_id) || (!$login_result)) {
  14. echo "Połączenie FTP się nie powiodło!";
  15. echo "Próbowano połączyć się do $ftp_server jako użytkownik"
  16. . $ftp_user_name;
  17. exit;
  18. } else {
  19. echo "Połączony z $ftp_server jako użytkownik $ftp_user_name";
  20. }
  21. $dane = "dane";
  22. $file = "sciezka pliku";
  23.  
  24. $fp = fopen($file, "a");
  25. flock($fp, 2);
  26. fwrite($fp, $dane);
  27. flock($fp, 3);
  28. fclose($fp);
  29.  
  30. ftp_close($conn_id);
  31. ?>
  32.  


Wypluwa błąd typu:

Warning: fclose() expects parameter 1 to be resource, boolean given in /home/aronzuk/public_html/kosz/ftp/ftp.php on line 30

gdzieś w tym zapytaniu z dopisywaniem do tego pliku powinno być: FTP_BINARY tylko ja nie mam pojęcia ani nigdzie doczytać się nie mogę jak to ugryźć..

Proszę o pomoc i dziękuję z góry!
memory
$file powinno wygladać

  1. $file = "ftp://user:password@serwer.pl/public_html/tomek.txt";


Sprawdzałem na dwóch serwerach ftp działa
miras
Mam tak:

  1. <?php
  2. $dane = "AAAAA";
  3. $file = "ftp://x:x@193.33.177.40/sciezka/plik.txt";
  4. $fp = fopen($file, "a");
  5. flock($fp, 2);
  6. fwrite($fp, $dane);
  7. flock($fp, 3);
  8. fclose($fp);
  9. ?>
  10.  



I błędy:


Warning: flock() expects parameter 1 to be resource, boolean given in /home/aronzuk/public_html/kosz/ftp/ftp.php on line 5



Warning: fopen() [function.fopen]: Couldn't resolve host name in /home/aronzuk/public_html/kosz/ftp/ftp.php on line 4


@@@@ UP


To chyba wina serwera www, bo na innym wrzuciłem to i działa, ale nie dodaje tej linijki...
memory
  1. $fp = fopen($file, "a");


Spróbuj skasować plik , powinien go utworzyć .Jeżeli poprawnie podałeś ścieżkę.

  1. Warning: fopen() [function.fopen]: Couldn't resolve host name in /home/aronzuk/public_html/kosz/ftp/ftp.php on line 4


Nie masz połączania z serwerem przez dns

miras
Nie mam pojęcia co jest... żadnych błędów a plik się nie tworzy, ścieżka na pewno jest dobra, bo to główny katalog..

  1. <?php
  2. $ftp_user_name=x;
  3. $ftp_user_pass=x;
  4. $ftp_server="193.33.177.40";
  5.  
  6. // ustaw podstawowe połączenie
  7. $conn_id = ftp_connect($ftp_server);
  8.  
  9. // zaloguj się nazwą użytkownika i hasłem
  10. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  11.  
  12. // sprawdź połączenie
  13. if ((!$conn_id) || (!$login_result)) {
  14. echo "Połączenie FTP się nie powiodło!";
  15. echo "Próbowano połączyć się do $ftp_server jako użytkownik"
  16. . $ftp_user_name;
  17. exit;
  18. } else {
  19. echo "Połączony z $ftp_server jako użytkownik $ftp_user_name";
  20. }
  21.  
  22.  
  23. $dane = 'AAAAAAAAAAAAAAAAAA';
  24. $file = "ftp://x:x@193.33.177.40/cstrike/a.txt";
  25. $fp = fopen($file, "a");
  26. flock($fp, 2);
  27. fwrite($fp, $dane);
  28. flock($fp, 3);
  29. fclose($fp);
  30. ?>
  31.  
  32.  
  33.  
  34.  
memory
  1. $ftp_user_name=x;
  2.  
  3. $ftp_user_pass=x;
  4.  
  5. $ftp_server="193.33.177.40";
  6.  
  7.  
  8.  
  9. // ustaw podstawowe połączenie
  10.  
  11. $conn_id = ftp_connect($ftp_server);
  12.  
  13.  
  14.  
  15. // zaloguj się nazwą użytkownika i hasłem
  16.  
  17. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  18.  
  19.  
  20.  
  21. // sprawdź połączenie
  22.  
  23. if ((!$conn_id) || (!$login_result)) {
  24.  
  25. echo "Połączenie FTP się nie powiodło!";
  26.  
  27. echo "Próbowano połączyć się do $ftp_server jako użytkownik"
  28.  
  29. . $ftp_user_name;
  30.  
  31. exit;
  32.  
  33. } else {
  34.  
  35. echo "Połączony z $ftp_server jako użytkownik $ftp_user_name";
  36.  
  37. }


to ci jest nie potrzebne. Jedynie co mi przychodzi do głowy to zła ściezka, spróbuj ftp://x:x@193.33.177.40/public_html/cstrike/a.txt
miras
Z tym, że to nie jest serwer www tylko serwer gry counter strike.
memory
Napisz na jakim serwerze chcesz odpalić skrypt. Na zewnętrznym czy tam gdzie jest ten plik.

Pozdrawiam
miras
Na zewnętrznym...


Mam sobie pewien serwer www na którym znajduje się skrypt.php , który ma dopisywać linijkę do:

Mam sobie pewien serwer counter strike ( niczym nie związany z tym wcześniejszym serwerem www) i tam się znajduje plik x.txt, do którego ma być właśnie ta linjka dopisywana.
memory
  1. <?php
  2. ini_set('display_errors', true);
  3.  
  4. $ftp_user_name="user";
  5. $ftp_user_pass="passowrd";
  6. $ftp_server="serwer";
  7.  
  8. $conn_id = ftp_connect($ftp_server);
  9. $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  10.  
  11.  
  12. $dane = 'AAAAAAAAAAAAAAAAAA';
  13. $file = '1234.txt'; //plik lokalny
  14.  
  15. if (file_exists($file))
  16. {
  17. $fp = fopen($file, "a");
  18. flock($fp, 2);
  19. fwrite($fp, $dane);
  20. flock($fp, 3);
  21. fclose($fp);
  22. echo "Katalog istnieje !";
  23.  
  24. }
  25.  
  26. if ((!$conn_id) || (!$login_result)) {
  27.  
  28. echo "Połączenie FTP się nie powiodło!";
  29.  
  30. echo "Próbowano połączyć się do $ftp_server jako użytkownik"
  31.  
  32. . $ftp_user_name;
  33.  
  34. exit;
  35.  
  36. } else {
  37.  
  38. echo "Połączony z $ftp_server jako użytkownik $ftp_user_name\n";
  39. echo "Bieżący katalog: " . ftp_pwd($conn_id) . "\n";
  40.  
  41. if (ftp_chdir($conn_id, "cstrike")) {
  42. echo "Bieżący katalog: " . ftp_pwd($conn_id) . "\n";
  43. } else {
  44. echo "Brak katalogu na zew serwerze\n";
  45. }
  46.  
  47.  
  48. ftp_pasv($conn_id, true); // pasywny tryb
  49.  
  50. $fp = fopen($file, "r+");
  51.  
  52. if (ftp_fput($conn_id, $file, $fp, FTP_BINARY)) {
  53. echo "Pomyślnie przesłano $file\n";
  54. } else {
  55. echo "Wystąpiły problemy w czasie przesyłania $file\n";
  56. }
  57.  
  58. ftp_close($conn_id);
  59. fclose($fp);
  60.  
  61.  
  62.  
  63. }
  64.  
  65. ?>


Najprościej utworzyć plik na serwerze php i przesłać metodą put na serwer ftp.

Więcej znajdziesz na ftp
miras
  1. Warning: fopen(1234.txt) [function.fopen]: failed to open stream: No such file or directory in /home/p175486/public_html/ftp.php on line 51
  2.  
  3. Warning: ftp_fput() expects parameter 3 to be resource, boolean given in /home/p175486/public_html/ftp.php on line 53
  4.  
  5. Warning: fclose(): supplied argument is not a valid stream resource in /home/p175486/public_html/ftp.php on line 60


Poradziłem! DZIĘKI! biggrin.gif
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.